From 9b00a159f9cf7f5b04f2ec2423b7bfd7b8aee28c Mon Sep 17 00:00:00 2001 From: User Date: Sun, 25 Oct 2020 06:17:13 -0700 Subject: [PATCH] Add zlib dynamic --- .../vcpkg/info/zlib_1.2.11_x64-windows.list | 16 + .../vcpkg/info/zlib_1.2.11_x86-windows.list | 24 + vcpkg/installed/vcpkg/status | 24 +- vcpkg/installed/vcpkg/updates/0000000000 | 9 - vcpkg/installed/vcpkg/updates/0000000001 | 9 - vcpkg/installed/x64-windows/bin/zlib.pdb | Bin 0 -> 528384 bytes vcpkg/installed/x64-windows/bin/zlib1.dll | Bin 0 -> 85504 bytes vcpkg/installed/x64-windows/include/zconf.h | 544 +++++ vcpkg/installed/x64-windows/include/zlib.h | 1912 +++++++++++++++++ .../x64-windows/lib/pkgconfig/zlib.pc | 14 + vcpkg/installed/x64-windows/lib/zlib.lib | Bin 0 -> 16334 bytes .../x64-windows/share/zlib/copyright | 20 + vcpkg/installed/x64-windows/share/zlib/usage | 4 + .../x64-windows/share/zlib/vcpkg_abi_info.txt | 21 + 14 files changed, 2577 insertions(+), 20 deletions(-) create mode 100644 vcpkg/installed/vcpkg/info/zlib_1.2.11_x64-windows.list create mode 100644 vcpkg/installed/vcpkg/info/zlib_1.2.11_x86-windows.list delete mode 100644 vcpkg/installed/vcpkg/updates/0000000000 delete mode 100644 vcpkg/installed/vcpkg/updates/0000000001 create mode 100644 vcpkg/installed/x64-windows/bin/zlib.pdb create mode 100644 vcpkg/installed/x64-windows/bin/zlib1.dll create mode 100644 vcpkg/installed/x64-windows/include/zconf.h create mode 100644 vcpkg/installed/x64-windows/include/zlib.h create mode 100644 vcpkg/installed/x64-windows/lib/pkgconfig/zlib.pc create mode 100644 vcpkg/installed/x64-windows/lib/zlib.lib create mode 100644 vcpkg/installed/x64-windows/share/zlib/copyright create mode 100644 vcpkg/installed/x64-windows/share/zlib/usage create mode 100644 vcpkg/installed/x64-windows/share/zlib/vcpkg_abi_info.txt diff --git a/vcpkg/installed/vcpkg/info/zlib_1.2.11_x64-windows.list b/vcpkg/installed/vcpkg/info/zlib_1.2.11_x64-windows.list new file mode 100644 index 0000000..1347c96 --- /dev/null +++ b/vcpkg/installed/vcpkg/info/zlib_1.2.11_x64-windows.list @@ -0,0 +1,16 @@ +x64-windows/ +x64-windows/bin/ +x64-windows/bin/zlib.pdb +x64-windows/bin/zlib1.dll +x64-windows/include/ +x64-windows/include/zconf.h +x64-windows/include/zlib.h +x64-windows/lib/ +x64-windows/lib/pkgconfig/ +x64-windows/lib/pkgconfig/zlib.pc +x64-windows/lib/zlib.lib +x64-windows/share/ +x64-windows/share/zlib/ +x64-windows/share/zlib/copyright +x64-windows/share/zlib/usage +x64-windows/share/zlib/vcpkg_abi_info.txt diff --git a/vcpkg/installed/vcpkg/info/zlib_1.2.11_x86-windows.list b/vcpkg/installed/vcpkg/info/zlib_1.2.11_x86-windows.list new file mode 100644 index 0000000..6d7cd92 --- /dev/null +++ b/vcpkg/installed/vcpkg/info/zlib_1.2.11_x86-windows.list @@ -0,0 +1,24 @@ +x86-windows/ +x86-windows/bin/ +x86-windows/bin/zlib.pdb +x86-windows/bin/zlib1.dll +x86-windows/debug/ +x86-windows/debug/bin/ +x86-windows/debug/bin/zlibd.pdb +x86-windows/debug/bin/zlibd1.dll +x86-windows/debug/lib/ +x86-windows/debug/lib/pkgconfig/ +x86-windows/debug/lib/pkgconfig/zlib.pc +x86-windows/debug/lib/zlibd.lib +x86-windows/include/ +x86-windows/include/zconf.h +x86-windows/include/zlib.h +x86-windows/lib/ +x86-windows/lib/pkgconfig/ +x86-windows/lib/pkgconfig/zlib.pc +x86-windows/lib/zlib.lib +x86-windows/share/ +x86-windows/share/zlib/ +x86-windows/share/zlib/copyright +x86-windows/share/zlib/usage +x86-windows/share/zlib/vcpkg_abi_info.txt diff --git a/vcpkg/installed/vcpkg/status b/vcpkg/installed/vcpkg/status index e71f5a5..7e300fc 100644 --- a/vcpkg/installed/vcpkg/status +++ b/vcpkg/installed/vcpkg/status @@ -24,10 +24,10 @@ Version: 1.2.11 Port-Version: 9 Architecture: x64-windows Multi-Arch: same -Abi: 41694068328acdf979d22ece62b0177fffcaa5f3 +Abi: 1636f9136b08297894c6b411a8159abd2812df3e Description: A compression library Type: Port -Status: purge ok not-installed +Status: install ok installed Package: openssl-windows Version: 1.1.1g @@ -50,3 +50,23 @@ Description: OpenSSL is an open source project that provides a robust, commercia Type: Port Status: install ok installed +Package: zlib +Version: 1.2.11 +Port-Version: 9 +Architecture: x64-windows-static +Multi-Arch: same +Abi: cd74bd6d5a6cf313f04d7e4baf7b640240059b44 +Description: A compression library +Type: Port +Status: install ok installed + +Package: zlib +Version: 1.2.11 +Port-Version: 9 +Architecture: x86-windows +Multi-Arch: same +Abi: 844d1ad9ce742cb7bb4b6dd649d6676742ea9d0b +Description: A compression library +Type: Port +Status: install ok installed + diff --git a/vcpkg/installed/vcpkg/updates/0000000000 b/vcpkg/installed/vcpkg/updates/0000000000 deleted file mode 100644 index 7d96c3e..0000000 --- a/vcpkg/installed/vcpkg/updates/0000000000 +++ /dev/null @@ -1,9 +0,0 @@ -Package: zlib -Version: 1.2.11 -Port-Version: 9 -Architecture: x64-windows-static -Multi-Arch: same -Abi: cd74bd6d5a6cf313f04d7e4baf7b640240059b44 -Description: A compression library -Type: Port -Status: install ok half-installed diff --git a/vcpkg/installed/vcpkg/updates/0000000001 b/vcpkg/installed/vcpkg/updates/0000000001 deleted file mode 100644 index 9ffcd43..0000000 --- a/vcpkg/installed/vcpkg/updates/0000000001 +++ /dev/null @@ -1,9 +0,0 @@ -Package: zlib -Version: 1.2.11 -Port-Version: 9 -Architecture: x64-windows-static -Multi-Arch: same -Abi: cd74bd6d5a6cf313f04d7e4baf7b640240059b44 -Description: A compression library -Type: Port -Status: install ok installed diff --git a/vcpkg/installed/x64-windows/bin/zlib.pdb b/vcpkg/installed/x64-windows/bin/zlib.pdb new file mode 100644 index 0000000000000000000000000000000000000000..7964f0301817af02406dcdb2dca0c9987f741abd GIT binary patch literal 528384 zcmeFa2Vh*)mH&U=%&1GYB=-Wy-4q+S+hD*&HpaMN8!$#7WJ$J!Wl2_XqYWi=Skr5W zNg$9=VgeyR2$+%$2_Yf05Fm*Ogry{e7E*xZ|M{LfZ)PM5$ZoRx&+cyqp1->N+;h)u z=broC!iJjG=C1c;kaO`Q~=od+XILZF+;B$kQ=A@hnVkz;xZh8d+*(R7b#ZS zLR_UTC{?PV3d64h?BQ~Y<#sNrn7hOo)+J7?OB|&w?Gh)un>f9?#K|QNbe0DA>zASf zf5P^2S$&*~CvG+PILY$JiN2lj2VeK7m`PMouk>lzG0o^ zR-Jno9g*UmiTFLBNrft0kLdE8j<}LU+|oqc{2*Fd)Fhxx+-<3DY;3M^?|Zs>;WyQ7S>0M!XZfm*GhA~^_4MlgdifT=I+qi1dy}S9IB`T{DF0(D zJhymHP(SrkwMPqo7sh;9<@l+rC016nkH#LOGvO9L<(`9ksf(6IkW+{J*VR_7Yi_M` zatCe|61%plwz^oWZRjAn#?zp9GWmw>FeOo+ZB{?eTlK?GwkGknZfQ*e z#jE{5waf9;U43+jg58?t=Gv;px~4Vl^@+YL|A<>xy{W3Pddp@%F32zDni^{Ac8!~D zack{*;sJR(CYj_&Os0k?BT@%F~z=R?B)>=&(9=-!Io}sj9E5uB~fLuqDk+ zD%I`4MBP4xr|nfXr1+trCUlWjGCG5_l8X;=y*ww~3AqW~*W&J;J_ee)s@l4?ngo4m z?nD{lpUNmphHc*;e8)G}#!tv6N;VpGdwGB;c zs#bNZPPE}r;`VoG{#9)aTk3p1N>i2$(}?cJXQde(`X~HU=00v?YjulHdk{30yER+X z93c%#Hx<8zrrNqqiF9T7O?T_++UuK>@s!sL*I3=wUbVWhqpdznud$`VZS)i-<_h`E z!*5kXd$O+bTY%rX>bA9ETGeHV+ep#P8$&3pM^Y7-ddBVKMz#J8EgdR1dxg7?bnQpt^tSH7-SezRXVJg7UZ_)z^2S^JWXvn6WFZx4Oo<4RwviL(#rn^s$awlNeu= z_g#K0+NGZN_;II`|4iiYepkD>sj5+(&GMav-}XHD)h7LB<99>;s>Ukw@pZ1iZ$?3* zb=Z)f@>@|*yNh2-0cq8<6TF>6ytCz3)7;UNSToJV@8$y7m*^v^-?hEv7K=Rp<+siI zF|c~SgGqNo@7lT+MqcqMd8hTY+SNW5iAGXlklnS64fxy?V`o%6fSxA9C%S zXDtJw=d;gKO|Lb9&vW5_GS3CZr`5@|^CC-M+bCXYj)Ts~VvFOs8FR^5%}=UnbKIMW zx~r`i(by}b+9~GR8`dS}1%>CjO{*KL*CfYW`4zh6q}$IoWYJok91r_DbDKzoayvNT zCt(j|yUdB9zHIgP(dK5XNc0EgT~1r9TUSTdO3C_E^Gn4OP19X{O)KjQj%y8S{rGNHJ`u3HTd#`|A7e}F0*_!#@K+8EI-$eizY{+>2Tr| z+g$BO53L)b&~=2RhhTpFU02~vb0c5jdRS{Z@hg2jyaKux_H^i<0{9OkDFFG>+nMsR4m7J#O%uD z&CQK%l?#{g=eUXEr<^=)?D%QpDpxf$RnBW}YbSS=P+8MBwr&$LdtoZ?|K@tNwboQZ z%h++_#!Q|tp?q51#Hn?Y#?~~}RX0`I9(cm|u{G}U|1o;H@VRpK!s@kka~m3I7`4OL z+J;tIXxzl|u`RW$Tz=r&e@w-q#Z_~c&6#uP;<7OnD;FFxtEytb0{*O;y>xliqQ#4r zEw7jjR#nVdvUJYunak&dVaw*sK78q%E>Y$%*v(%QVHwR&BdwQAYuO;acDS-CLz z0+1sb+B&Km%a*lw)HXCH`jPsg??7F9(%A7+)RD%OS2p;vhPn?EvicdN9cc^rwz5N6 z?pH3FvwZG~Wfg~3P8>Tm%%!qp-O#@`eX8uraphyn$BvsiVeg)=QWxvXnD1hYt64nKO+ElGazJ0xPo?x9uPj63KcTiYEiGY2%V(F3S%E$) z+L!%2HIT+D!V~3@M)f`F8`#({pTtO|dB^-z|Ab%F7UH58Gk@_S^k?R0_^orhC&Kb} z4Xe`nCk!vxHGJ|!@-B8ceftm=!22V3BJSe%H50{TNgNuv27hao>xeybX!(GK|_>GW|!*-V8= zIy;3`rT8bw>=cGvhElr^VQW^8*A}_8VN;cs-?q9A!^d_GZ(HBNfRjd3idHs%?QHr@ zmV9s8S840ot0=pwJ)sd$Z;&SNOnSmBjYf3doW2Jnd^RP04#B4fU8Xkavn1hDk@Q)L zk9t*W(&xxT9QCu9``3_>L=T{wb?#$(L2F7zLVl<9fn_?`nO$F3vlf1bvT+otS~}X7 z)i<}cFI+ZD8hsnNR^o4Jtg3{TEv=2DX-!ap(iq)xTHi_!tM6F7I=x?~hqcnQAq|z} z$A+VdJ@y*yDnr_jP5ApVs!YF}E)UfyI(#=y8$)VRVY8cCHnSt}^{PwxA6(a7(NNRg z(A-qrx;Z`HHK{lnXU12h)jf@$OF5!3?Lo-1<5TIDRI}ocwjsTaZRil{s-$sC^`*wN zG+xb_3QNzgRr}bqz7X=vw~;C9l4F3v8rN|UhWaGrWmmcnt*dKEZ<{bbOGG&#znW6? zE$hm!^t!EXXl$(V8QJ+K zm04=c3gsoi6Pr#_|+T_Db~rbMURIYHYrA?6}~Sjh9uag^zsbvUOkC{_^~*c6+7Qcl&?o zYP{^HFg@wNmkyiI)hj(X^LK^=84hGPkl{dv0~rovIFR8$h65Q6WH^xFK!yVu4*Uyo z06SLBPJ$AV)cNdnW=l&2=Gm1Cnro^XE0@=;YpHB(T6@B@iBo4z89!&{nDSY3XO5XT zdEDGFvnI`~7&ED&V)E=+QzlKBFlW+9W82rYI5*Z!FUdti@?^5UJ=`F7&wA%lhmNC{ z?pZebh~-P?@UemC+yN!7W@Bv^LjEU=3Uv0b1JZw*Il%@@Jlf2p0DDvF-=F8%d=Aut zxfedTviGe0{=Djo=Uv+KrK!&(nUnb=!+{J3G91WoAj5$S2QnPUa3I5h3)yoF5*a$A z>|CdopwbB4To3cMtfj=04RC1Vx`n^xC;lcaI}?7oCm#BZ=kLD67dBt8iL;30%T*E@2_&{dI3L^iNoUS$w_QA@ny3utYw+Q~urx z4fjCk>C?sEti143U1Zjm$g8s@S0Zh{PT>h_E&RkA>2VTi%~DHsAAnzHYfK+^p!~OR zr*AcPRp5|^|y;@d+{KSX7()=)*wRC%XKap;6_DQ-G!~2a%`c;Vy7H_Qi zwX|}}P}Q`&_Vs=pA&ups8=6#yaptyaS{~yQZW-?Jr^T6IerESrs5&-$?X#DSgt)laQID(s+C*laGhwQ>2$_@K6$ksgKxsr+W9 z{E}nDtd!p_V}#0>-6=fPuS9c2Dy-A^F{iV?(W~<3ru-LHxB7Y?obp?eK1R$-`6tH+ zm3c@Pf60L8oZrPieeBR=m*D>{V~6NkkQTnVNtVe|OBQzaThff6;$>lrQelU4t-f`g zE=KSZeT!3JN9fiqM$5+gCHV8wg~TlbFFS{I@*8h*xD>xFbF8adSq@sq}HT**Pk$(M`2N( z7*FPx;XsB184hGPkl{dv0~rovIFR8$h65Q6WH^xFK!yYVdpV%<o)LNqBUg+)5ccp7Z#L!ALH|}uGsE2)XIpTpX|c* z>&-Kpkar%@yA9)^nIv|T2bRb?^@88^vLJH5`8x>2)~<0Jkc_rdic26q^+>B zM62jZ(2!TtDke1kszHPOJrcePxlq{lT#cn3;AJR5&Ud^__)zd{P4VMX>TPz z@$FFR>*MAB!}axi2=ks+GAvQIixYL5oRGO&6LnJ?>nD2}y)n8xQMaz9xSuCm;@kK{ z-m#cv$qgO<(>;+21aL+w@1!a3-;?hLq`#SGEf+ zi{uB)zv0Q9mlf^zt%okT;0voqoH*etl*t8>;^5XnKe@NZ(zoWej#~KZbq{UkCD9j{ z|CZ7#9)5WJz{8)s{`k9h?s+tZ@xL3sX?`#k=gA?fvjzBt~F`yp|)H+Mqf6Tu4Frjn+^UH7`!+{J3G91WoAj5$S2QnP^f0F|-s(tmp)c!wl zv(YpF?jP0xJW}kEd!~try|>omc|6)9>&r_m58K{5{Ys_nnagbd&1Km3)ZW|2?PdFO z`yM>E!Q0vw=*n_(pP3#I!i-Q!c@>jW{FZ5T6 z^nK`bZD9Bv1HHQM&K}5#fURA5I$m`@u%tVl`nY>py^kdQeU^6bKsu05^o?tZS+hzLBH@DE&k(4{XvrCkx|z*S@o&qzsh*P>|hW9bcz5I!bYU-SW?Zj+v&fxz*}1 z6n6o1%q(f5?hlw>X;9$4>t1sG%)dW${Mh_=5AH#W_L3W!h#&e7NcyLj9rh2sTj35% zzb~I5T50dcxE8wgbsc?uMvr8Bt4QAUmz3=tgmsne$MEY;wx7hmJK26d89yZllKFD{ z)i%g{vTdZ-D#KqqUL1HHs~>!TpW5qL(^I@Oq-Sp1IlT}2VxQl=`<@X6#3gWy1##)=c&9*oD@dI9r6BJDh<^#30bUQz0&fOM8^05* z0KWy!1ra01z5DnR;342oLGI7TUjq*XQQ+N?tD0MRW0TKsFZ^eie;Xf{ZK$bgR6Tsy-h}O#sWgeO+Ekcm zoWTN{{HojPsv7H>*0k5tCMrub?ns5zHlTRU zA1`Wd={vq+>2@Y{7~drR=bcOUV9%9H{>q!Z81>C|;o16(s3$C;elUmV+xpcceQ6(r z?Vd&-H|w89)6LnQre)C9n?DZ(^(EGAyU=7GWZi{thrp*tEN)pewDs_5huJ>9h5UoW z{ywy6@Zn{~=S8I7Vd+Ol`zH4Nw26I}Sdt~`lumo_?^?WaD@V2z4Q{&QActgCYysvC)`GR2G8Uo$?tqma0eA6?^IYWc3R zIQzMUB^9*wr3mAlw0AWAOm-yNH#F;jgUi7A4$)TX2)=*W1b&O8K%SP`P?0@O+!+9-e!7?&DEEEhA1h zKhwwbaP{_1RMDyWtKXIrIqbL6ouF%QlHX8wG7!HR_^I8bXVJH_Lm5^4dH5rKgn2ns z-w$o5W{6;Z^&V(bKQ`$Dy@|2OKHl8jxa8y1C;PnW_<7?{KJ`N^+;d6cW57YsL_OElNfSNum z?r8GyQZ!AobW1*qrukyTXVLWAB9-Rc*BGRRfoFh|NVGLUQ%6H%EsFsyb-Ja=$D3+= zS_q#Wvvf_&BL|jDAfG_zCv@O&KJ)P>nOkQ8-?R9~M^#_RC7NOj>&;)c-=_4_%&oq& z)7*zdl$T`saZB5g7}o=$@{_pzFYreN6JCSFSUFCv#u=V9FCcaXA95OJoj-Ppm>^J zUa@#ja&j=(O(N`Y9&!CLo^SDpx0;LZ{D$Z*#7FsaHe&7uQk4-W8O z@0FG&n^dD{$${`dHg1jZ;Jf0%=~V@@3*ZA&qw-X}f<(PSx%kBL>}h${!|#xe-cT{d z^-R*j7-);8kd{AMx;~#uOIV(BeEW-Xl}>zoFOg2;pPumC<3Z>RpB?cd-!6V6MTL$AcGK4xcq^f5nI`LX7C((Bj229Rml)qvB8 zJ7c@}6%Su7%ZjdqkDm-xw)B?HPRh{uWzo?h926(g8{I}pU zJuPkHCe>eMsZTGlI8UX8r~175aPu9iPeVkq+my`nsOYcoOUbV7Gc8YzPoG$t@0(k5 z=KMRA$Au>US_^x+TB7}(*5OI{r=_%}(|Q@3T%+spV1&EG-Oov!=vCUYzNx(YIOfNP zl&mV<6PE6h&nqh_-`W$LYV;myb?is(p1%6%yY9%eI;P6eI^w5BM-Jz%I!6rC)I^_i zt-GXA9Py>}F42BD^KD=;cykbShq0F!?rw44wl>qaw8Y{zGh!Z*mUq47)rIP}jP;v3aAHef66k8y`-yHdKEJ%bfr{lFRPq$%ie?N0bxF ztyiF^o}w*kv@bMTmr};d7Qe*iM9JrN3)lW?X31LI?-`vvj4!H-v+xHwCtc{avRB#e zeB7nb_e~2cO3HRf?{SGZYl-92OaBnkx5)?$={w)bo0%NTQ@pEnce-zocbKm8{4be* z-0Jdfdfn08cz!lh^e-&@B@35KYHu6P_u8XBYvFHL_!tXMjT^E#__>AuI!LW~))}8P z=C)hidmG*J(%LG@o_4sK@L6lU&+JcK=ZUcIT-jUnvu>ko{k{)sjl9F?h-;tqsdL19 z;`(@x1)sOa`m8nR&OW~EmjTUHPw|Y0Z(HwCUy8S^uWjDgR9{!!f`51Y*T;L=WI?hV zq^DYWCiI9N-MNR5LN6`5ZaWitf2 zC@4P0?=?QQ)l@fyOZjg3=;LLX+;+!DAAX$i?oecNr{#Mi6nrt+p90eprRG+Ri9X#y z3H}D|^!r3lB$)=?QbQ9<)(&2quX#~j=Es)zR@R*B*uUi`{8MGF#zJNjC8zqa*1f5@ zOJmUQERV~LUd^c?y+zDTsdP0Rtv;F2r?KrdOXqc)8oS;ww^qfHhg3eQcWV6c^h;(W z7w1}E=y6$k|cO>7&FtcyC0EuZF9|I z6&7!=tgy{}I;}TmmS|pUdRX~rUn7}Fcl-57*D>6uZ-F&H6O^8ZzAvb)m#hBf!* zAR3$&8I>j8Qi)W&G>b%(|KMvNVNP!%jr z)3v0=Gqt0}=*1RykF53NxnFR4@UzGp?y=~{mY2rtFt1`aAy^h1oxYDs?rl`3=PjQz zEuF^buzjNJ_~*Gv@Gs<7YCKi>=R6=e)Hk*KzAO5m+$lY&>?)gR7lo^wK^Fc}H|5ku zPK^9HZOzzu+&IV5HM!Nai}DiR|7d=NxOb&ZWsTh-T3-H7mvybBYx_@?wZ}s$>owZn z&v7aKwWjf|bDb`-G;7cssb75F8A9hVD?BquU)yvZuTuS28|zn*Z5m{ z8vQ+=dGXG~-y@*qJ^ZHf_;XTpX#A~sBys!j=yzJw#fj=p2hRl2y~dvg&jyu#G><>S z^mmJuo?_69`QIku=`ZST@pF+Ge{RQ`k&G2z!}!OF#P3q#^#(5ohk;jt<>0m8e&82D zmi=xU_&x9j@EP!Su!r&n%RsrefZqh;3HLb(_xTC;HQ*hDUzhN|0lW|QZQ%Xjo#4aZ zgW%)fv*459o8ZsEzvRPao2E_fEW9Hg%CW59F48t@`8EYF{_ z_%oue<<&wLBI4@6Q^3`r_}l9uMlwX+5a&T6p|91$E$W zm4~X-)$-_fMaKH?3RF8^4NeEI0cV5PgA2fG!Nb5Wf@{F*z-I7EAnF8*r*c>D z__GLyPQ#a*3n~x&ZYI8v{$b^Q9UO!E7H}MRD>x0j9aMSW0F~#Rpz<%Kj{cm$pG&A- zd+@~Y*YEg7h}|00Nt#kYfJ zfs*&L!I!{uz*oU@!H+=2%Y%jsz#{Nsa1N+&>4K2a_{rea;1|GaLG_1i;JqL=7x8@L z_;zp*xE&k{ehZup-UCiWewE)0Q0_CpdqMH#9UiYU^?F_LWe|^O)Ndd7r*_^K6u%~b zOTdYsWPTEOJUAKDVtWesHaHDrIx@HFCAa$dbns^I0Pwruf#CPRgTN=i8Q?+CJqw%< z&Ia4Sx!`-?!C*f0&jWjbhk%2?`QTP?DR>XK93*ddIEbIQ`PSXysyBm*Nd{SF`eT>)Vh)+2@6+HS~1^va~7eUPn zjLq?p;Pv1)$?wac)9lGDLiNAHn<$NK}cAg!$?+1UxqjOH(d(qk5J3M-`Q8~{% zo_d}*&y_rP@jS!x4o@KsGMZ-w&v9y;%rC=%3P`7d_=pRX&g#`O4~ zbpQW$=E?A#Y16d{;P(cV*81dmFrPVc`!?yeILoxpYFDXrC!JeA(#n3ab)DDm&1Y@m zO*nAaD(DJ$bKW2`?I<3Xdc;B#mQfJbb!jEy49cS^uq1)m}22&S{U<1Y5gmk zfCc3F;x?uEPHZ#Q0DA@BcJBx0N2Cv3z$R?@^$N?5mCER4d}AV z+@N5wTN!!NNf)U4{LbRMO{i=Ql`f?7U2Japqo-m=8$HII5M6C_{t3RaQnEupl`Gqx zT+8Epqsxced4$m=zMpJ#6&Q~W!~L6WqH{&8DL6RtBdi1a#`d$gvY$KPMuk=4o@Mt3 z=3Cy2)9UQ)hD58@w9i@IRc!l8-0GmedoUR6b_S~~KiRbS{Jc)x^EhQ2I}ci#tvsFg z%(DE7tUO;A&tq>JA%1BIw%Wpybf&`gtp2oS{S|=U7^xj^6 z`o>C$H61HGQIQjDbQcHD24VXQg&tOv&5gBQCVS(0f17xELF`m^SQWt#_abGg?Q|v) zxBC0{1N6h)Zgd_S#ON2_$8Jeyw!KNc$^6@bKJIq66P>#JWoOjYKkPSXs?3xtJ0*H_B5qjToY+M!%e@)ov(MfO9a0hd#w_D;wXpj-;<UlQ+TK-^tpuVoPE@f|dy4CNjXgRg1WCz{OjrjM-aqnPA zmdWdaXpDG+`0pThA$J^VOa_PFx^Md z(}Ldwk47awvr5EP))k0h3m{^R*ClCQ_Q_8J-!apj6R)-y|qpC zyD=?1bw;E9H^=04Uu)OniGQ`_*AIT~&ASi|awoaI!R^5?^gGlzGKM{Oh4n$5H+h+R zH#*nN;$&|OI*LK)b@p>rk>{_Bw?^oUWh(XS=4ZA)r7o*v zjmeH1Ufb-)K>2O6`peJrNoOx{GSU2}yBV7QSat!vwpfm;q|5Br}zcX^L;sd1z!OfFXI1^2!99Mg8L63`o;KP!9L(V z5VZ;aN#Ic2`+?|?;s<~yfd_#ngB2jU{kYmb&i@*tP6MmJ)4^Ks3~&ty?eTRWe2;g4 z=YnT}=Yi*e7l2;{w}R5cUIa={cM14yFdsU0fCb?D;AQxK2wo0;1YQ9~Bj^l3beQfc zP=*FqgS&&*fJ4FSKy;AYv_g*#!b8(X-vSu2ruI`;19s{;15A`?e1|f z4n6^12>uwn1pFy@CHNHhW$mYi(_?_UhAi8eGIO+pF4?Yh59DEW)HycN1=V-e) zIyvd5;^^QUZ5ZDP{tA2>+zGx9z6zqF;xrRJfV6GgAw#c&=#t!<;O^jC;4tv_;1ZCw zk1q$`2e*L8K>T#@L+~u{kKh&HpTIAJe*td*KL)ph$V&W95CM*J*5&BJan7t<1biMu z=NJD47z1~LS>PYQY%qvEchfi4%AwC0yq!yS1>8m^GN5_oxV$YF6p;I zy_R%Z(r1}2i!kZ1HjzH_%WxpWf&YIwK)3$a+yBdO%)bKQAAbMeEsQ(io$)fp9sQ2Y zVysJGZV9@2COU?;aR1+4y{eH_x!=FPOL}b0Hn-qY%KCF6{?}XlqO7+fT7mn0b99^H z%`$f>aeST!+d8j5?kg-!zpSEQw3`;0?`~kf@M2^ivqjXJzL-gtmA$R|wCB9xTDhMM zhP!#ehG2;M8tJs&UXQ-O?j^N(dX6LS>n!i$thW>NXis|1mlQA8=s6U(r)Q?+uRCfN zS(@FldXaBg1Z$zS{EYos~~s`$i6P z*HgFW6LqUkmObCf);`eZ_sd|Uo7<^w*|Y_`Huj6xOUU~&%X>i9AE{fozu0WN8WHJ5 z{mO%@td3ew`8w`r@wDGM*U}Ep8VFsbkqA2|?N7q;hg-TMlWyHhLSJM24fpG_O6sBE zEX!w9R+jC!yp8I)+eE9k!`B(_W{Wd1Yj4UrDtOMy()!)kRX6$Ol<16WH2HZt1Cyt+ zB;ChmO}G5RHs09Wy4JVx3esF?`Ilw=6+TFhAf3n^#)oHI%>5{te|eYuM|YFI+7K;7 zLt~@go2rfaS(_i4Y-3ix&CM))RhGiDOdkK{zC;bgN7?cDx_PwR{ax#uUcB|xf(6Z+c7rc9%b&{7Op*9y}5l|wdd?G_Z8ea^nTildB2PC z^X<@x-&c*!F9$>1AwfI;?v5M{hZaxkU!tSYs`&oY-@P8F|9TxAyM&Hb7W}H4=zGBU zvE5`zW%+!oBO}p%vW4Aa%NN`ofZ6ra9ebiNVfxT4@ldaw5n)2~mY-vEzhl}Hv+ zbX7oCOBb53dnbtJ`zY1JOO)7nDY{N0d&da~>Pqn-TTh@V=+F(UeXSGSld8 z+pN8l^3Zs7qS5`QpqQ_%WbyA2fxkPZIyHV#vR)kAfOVADVPQXM@&5vcpS62Kk_XSD zcKUTip!!J`JJVLzrG5=fHSk<{N?s-z&xg`x(xv%!$T7dMX>|Ly8z@|3&ku~Y9Lq!F z?33oc(am7@r+n3x-!i{5k&?r#z8YUWtxpF-8DAwQH_>mUU)i;-eb{U0*Hou{I@RfS zjLXB4bxPOisLdG8+=bR=k4O4)hwj0M*A189pOPQDie+VMuQ$Nr|6A-l`q>|8=eEc< zgTrIxiEvuM!Y{sqyYF z(LLM~LBHsomUa&jYww`(Y3Gr4h_&&fsMWqf`LoO>Jk_4L$ZHApFG|)w90N9yljKUe zCQt8`u}d}bMe?z+Duox`zBQGXWPd{%PwG2Xul91UHa^Yh7)1RmhS@m;x^Wf%^HqO>=U^j zyN!dauW4@d^Yo?6)Fa&i)agW|O0p>3ysys)$w}f}n z`2Kjh@prGRA@H{&*lu&B#C?u&@Eysw(ifx;+d=)i z`PqGH-Jjl0pzcpg4|e-D8|Q{ESTt_R6#S+0f()lMAor^hYe3#fgrC-7+&`^rLdF!2 zJ$6Dj=C7T|kA1q+nufHAH4XP^6wlIzYmAbT(aHS6Ilr)E2 z3=_XP@zH;O`IloSoznlIme=lOZSh~x@$Ez(TiTexMD^;2*MC|%DF!SCS4KFxg>d@B+D3HWW?*i*TCz%o$jhJwm>1Ss871^7Jf zqe1D+8bRsIuoE_&*#__>+?&8(fG2{#1TO%81zrvA1hE5mzXq=dUjc6dr8|2Rd>woe zd<(?>+Wi)M0sI|^eYWY&{sVj$_dDQw;D_M*;9tNGz`uci02xwDrRAg)ceVzkkH%$-Pg}>Ez(Vj0un0US5xy1dfg5{g)0JHZN>_FR zC|%ihurK%mC>`5Qa5s>_-*j!IATku+9hB~DD7Ys$8IF+E>u7FO7x^y6GnzRb8mFt$Q$fto!hz^rE8T>mm9{3@M*X!W8bJMduLZ-V+}>uu*J&?1AJbTvZ#13W zF)z!V zlE--}>#&?r=L3*SQFbVB($C;~L6*Jg>pMR4^h^NO`j< zPwSP#ljXfgc|XrtomY@7YkQ)8eXM@|%vWnD=?Q!}+k2ej`t%T8jGbw85jR0t`kvjV z(S5{OB|C^8<{=*Xb*~*+l8?73ILv4t)FZ;6uQ=_b(R*QpT2DciyVQ8~e6)Zw^#xeL z9v#i%>~L>)Z?wcMB97KX=UG1Q7fo_6GscVz4v(ClwP$XH`wH#7Jg?Y&n3wNj`9t00 z{5-cNe};RXcE6#Zx0_Qq(>-5!ulssYuDib|+uBEqnVnW!)6HTZ@-WZ)K`y$YG1z|O^LCGXHg@w}>OZehX|uZ#~@s-62`r{MQ} zrSRr1^P8Hqk0`xJai#^?E{8WA9K}4H!`!-<`O5G8>fzN^OVh{2$VoD#`rcxGF{{7q zQhfb>Ueu4?@DawbB}G+6o8(t(PA|W|LY^*(d^T-{5q{Q6j_*z9IQnK?qRPrk$%|`YjycqecY_9x$gX|BKK%kg)7YN<;t`7b4}ny z**^;|$UV&U%sbsZk(cLQ$SZP3AgjK-usvQuzO&pK`oZ0tW&e=p4fa-LK^F7p-oaUs zGIv{KLx7yQ=VHTLkE~&CBa4Hxv-Wm>1oN`{x}&mVZf$lScVzAe_eAbEcWU1L?t3g8 zp37@SCPzg5el%>~k=ePtH*7UK?BUVBGKwBp;`i>}u19jI>G#@8)t0AV5i$Uc=FAf5 zsV+6Y57^0{Vt(4Q|HS+TL>k=9!B|ThxT%*Z?LM*nv4S`fDL$25^wqAAyA!v$rbwZS zM4#h++P)^2(pz;NH@}-4H&yOB!i#O*(R(HKWe?}|&|a1!JuZnI5$TcR@1zce?$CBe zvZTIrHjDaz9qww}+WS>n8(&gX#`{86!iQ~)&U5J7TO!lAE0NDVodNEQ*fDNERQ%9h5!Jodo_q`yh8<&ZOYl+&Z^=-oLq*^0M6t_j&W4}2TU$?or#WEZ)H?A1>7T9&(~ zdpUPEcR}91?qNo*XY$rto2uPlE5DS@k8~dWtbWzVz1Me~Y`l~GOW4kSUo@9+CI7_6 z#HVvgv0rO<*GI?2W^f0s)cra(*PW4-?=H?7id^Tpm$I_lAF|fFQ?o1FpR!Bc_?-D} zdrlT_6!l}xfhGs{#$ud=f6HC#jtIuM^V#D*%&p(2gCR&8Z4{a7Rzz-ddC_wysRwr? zhq&jWy}6V4&@S!TEAMVsRdBb_UB;Xl>UK0%X{>q4>N%Vl;5E*gM+SRErf0Y0-efX$ zDB%}esCHkU7e!Z5?vBp6IA?n>J8zVQYrcKU>irui9OaI1U*-IHGj|)0ws6gp%P|y? z-fyrQ%=)GP?p(!Lct4xVr$S9?TuJFMdgFhnja3V5O(Y#qgVFhF(UIJEJvf-kI;O#G zj7)WdqQip4v2&w`=Js?~=RO=%=bs(r(ZO-?+Pdk^=nHwiPlx&F zjUj&QET;}_MstCUou2pJjz?+4+if2wiU(-3J&Hi zbh)ha)8F}aDdFLB8GlPhv5BqE6Tk~gD$wB^abQTjPmJ=qw z-BW%OydEQ~r1289rBl4}@rig>S{>y#e$u3b-*eV>@|!dnFU#-x^OI@E$*(VEEKHQa zqM6sW%34ctOG>tZUG0Xn?$bJxZ$#TVQ}?*H)@*!d+U8Zo-I0u& zzBVhdvpBEk2*>Sozfkw#-+iGrTpXC07<3kvh?6ZaC*u4|ynFEWyT?60j8?h7Jom9^*>*Ch3~%A_?S%pco+Af7j+K5t&4ka8(&iSz0}2hvh@?s zKb7}M!Y$s*eS-DpRQi3c=v>}QUEC*|jHmJ&pO8D%S9+oFTvd0Z^qa|}VQPP#Va3kv zwD{@!sySvSsBt5GZ>2t^wbC0Fe+u{C!}orKd3^r+10*};l$$Pls&njWU&mh1lTNeF zef2A)+@2u%1h*T0_)u<$1C638k*Jl#A}W1i8#THZgv`tdQVyPx+?$KcH*YaEPZ@gjaJyX zY}dJ0`D#vj)@Yi^SUS+gwlWdC>(9ov?%GW6g`P_McAmvSXP$-ce<-uQoU*T#|2*QW zu8V_IU6t38WL}-?CfRt}Xhr9fkc|(BtFidg-XYP1pcDu1-S)#5?p$(c@3n6{dhyvq z-kX4~%KT6H${YP-#|>KD{|9}(ef$NFFv$LA^`9S7Hl)~3<9&br+Q{=BPce1&drq&v zP}qY!F?BfoP+;r@NN+U*l-_D7*biI@4ggnyvKd1MW%{fRa2W1;z>%Qx8wEZDjs|}U z?g>5z?hOv6efI&eFJm2t9u}0IYX-;@KNy@1t^_MU*)+YWDCVPiKOuLFmJEuh|Q zuoWB$z71kW9RCp96Z{C&y9;I%GLC>ZgXQ2Ipx#;V05}1B7@P<`1x^K@0kK1l{|1~6 z{s+hzN_<=q@1Owp2YK&Ad>%LxtOaL-&EOpHbnsB{Yv2O#HgF;M9dHr216&L~0%F%3 z{~ov$d>lL+{0Vpj_yTw&_zrj!_-Ak>_*d{~5cQYwu^ep0eIQs39t^Gmt3bw_cpcaP zt^pgtb)e#RfbHPLULzeZBNr92$x+HWXPwO$zkYVWWoxD4C}TnCbOTyyw1 z@C)EX@H}uT$TAeWKD#!Aj@!R0VJ`T6{0{^l2WNtuNnugPxeG{r;;({pz}LaOz~6yN zr*hKIQ)HjKsW12Fd9LNTmFKhUmG4(PWU;Hw@{{ss9!|Gg-ihDGJcCvF%rC=%3Y;+ zZIyoW-8QCrUG3zFV|Z=nDn10$KBlo@Rcm!?LtR_thMJbOYbxby@8fT)+(KC8CL)JP zTk9GtXD_T?TQ|3%kpv1KTieiDnK*|3C!POqW&RGo8&xSq55Gs5y9Xz52;s-o+V(k7 zuyiw>^;4lv$HyCLcR_VVcbcW^)9<>hHg{n58Ll|*9QRz0scuxy zG=?K@q*N;tqq_w5$B>e*`-zNR5I>}b|XIoV6chDh5So`_=6|%{_;sp7ZkZx89 zYeu(ko!p!Irt!5Cc^!9DK573dXIDGvv{4Q=#1fVYnzXYPH?Ygt;rtX zuFSqDdn_#=y_U}BN}w`u7jr6cB4-P;On*Ja%2=O9gFn|+UDTo0Z&I2?oDk%>VdSK; zw1(bpd7Y3yiu2WKSCjWd-eR{`zP?ZA+x6x3O7|hW(pmQ`tTv<7?`9wEj?5OX(Yv@O zjkX*p_qxWPm^`|^zh@WlWUv?ZFumP-k<)lD=~tuo=iCq!v5`EjV7~iJ!Bf$@kNzbab`Nt4U3gWj?Lc7otJ&G>zy;!Ez4Q%ZqFIup32F_HsT!D zBQMvTo`>CkK3vQ%cem&Fa&P2cV%grw2jzi%bcO&?V!jZ11sL<_QG{`Lh?=Cvj z4eW7Da8=LwE-2pMZbkWee{pX&revf$hMsc*TIDww5Y8{nbJv#kckh%AbG!BG<@WEj zM^M-M23Oc;UpKeU!PrWAyJ^pts=o6%ANVpF-hHrDe+JGs^X`btA_eZHNI&->e-FkI z=wzN-d47Xk*Wa)QnwVX{Ie65)2@axeXXoU&n{x`>y*XF87jt{NKjyA;Z*uPbx4gr# zyCHwZ^`nvNj|%p56AQ6VFU)tBgRg>r!QN#Q5_JGJU}~QgJvrCzxjXNno8&Gj&Ubed zALAyLW=$UVK;N(q4Qkrq_|~QpS*L7(>oV zj3GKN_G7sE)QLr!=VZ^5K87?fLTjFjaHruEmPG#%@Qw&XRgn!nuW|E>U+6S$Or%~DtPUMEZutJ{&n5Sxe2ot!))ySM2YX}9 zbaM2~=pgJb`eG|I4*QEzcR<$3?y0OnZWuN$E3v)!33dm1cZqD9e1E+J%f73Fe-FN% zdjax&Q+_}9aQ^yWVPP+~rcmcko%`k=dw$jZtmLcK4t_lMXQJwx=*r!%tljRkcGH~( z-)?&MN7!zuvwqQkgSFef^jtrGmsout=yMxm{e_J6S1{IZr_H8BUG!1xbGBgrbSi!G zacpyrXZ`V&f-gktdzQMpd;TSI6K!^TZ-38E^?Td$KCY;j`*C5PqM>GIp|wDIn{{2A z{1W?u^l|^%=={i^vewzUWK`Y>S;ak{yE-(F{mkYue;?sc z%6-Ay{#`SE?c(n`X#CW;*35jsyPlY(qgYf-fMTfm$6DN?7 z{4Q-y`IRU9eE(FuiPNSg{2sM=-}_BT_}!c4H#y-qDa~(u!tcnp&}aTH9%_NXvxDVSOvDA6dK!VcL>p`;JT6mh79X+qj8g+L9#Ah7*fUz#CpS_W?p^InQhuSG ziMJ`)zE8@gB;DR%YOyHf9oHV*Jdov|D?d^E4DAhO>oYg(!E0^2O}97DSYmbs7GK|! z+jZX6n02s)k7xbAu;e)QyC3kVUl#DrIEIW^VLv~ns9z^Y=?b0fj+9nB$R$>~ZH4L< z+SO0g;K%Pd%FhEib8|JM(@T`o>n59D(e3L+O<{gmFCW*x+v^C@|C^7OhNar9%<|jipKjZ12GM+*d0vNh5{Y(9<0ZC2R$p%m zA=`*Oji!`)|AZTb0Gv&=eVH~L{1^uDWp~IU+n?jCj-gzCw%t#I#cgCSoU;4z>GO;y zQ<1Oxd5kA{@T5;?IWD8jZhqbJq@0N9a;&<3&C2Jj6T0QTC(W(8?q_dW<_=nKU&_}3 zx|QCiwGJBhRK2UxJPlxEI>0Q zo1rq8$v3Q08BvzxP%`h!)AzCbn(Ysk*T1oA%C@xr9R^Cfpss06JEN)kuzxq(dlvT! zcUpqivIF(`dEH3YwY>U5q0yx~p1vP+m|O3vSXeTg_Fn;C)HZ6Du47D@3g7kjcePDu z3nX6f4ckt<2)`fi?^1TIYx=nRY9C+t`~(dee_Nn+tJNWtPugr=U3G0;>n`mTj!!=R zd<#E_^nv4pgRGUqHc1cf%0uz^CM$1(@$7l{bv|^NJcr|Q|5P8}m0jl3Ezi1+%Nna8 z&xuCe{}hes{Fpb;=YD3ypA&Nq?Din;&QAQ0&D;1Y#Y~OYUVf#+l1%*8;%|=Z4JWST zIUvH9{dhut`TV3C2z8f!tPJhnB##<8e7rLw8(kC~lh;cf9T$JIY@F@Re$8ao%0Dx5 zruzW>MOa2>8!we1-AY)-*;rGkK1@6O{9PQC$#CmR;wm%s9)agil{?P)`mS??*87^H z)>@ih1-(eu8Z2ZFw6NrL+I7f@Pc6lLkngV%qtj?oga8CJIT$r`UyWvkwIQT77LwtAncvU?}%9q!jeUrRF1A-lv; zJgvb-Lqj(|>+5}atAC6@m7{u!kCH3(@frB1&tn=7=i#Te@6K*=3I5&LN3KYw>D+fT z53Y_&Hd1SV!N!x+JUQ89$Gg+l1jh{`k%*ja#W*`JR+FiyP{|V41l;wD?{5qjB@A7CzVbqj9t047F3Sn~c0Y18?5h zJuzl4hd=vj$YvreF5Eqvp?QcLJhe7BXYWyn&RcYKSI%#(oRhkglW*-%PZ_`EQ9DFc zj)v#NzBe47MN2XKNw$^rZE5?g1k1X@e61BiotM&TT<&hHP&a1~>Xx;scx8Z#!@m72-CuY}q zZYqAhA9Stnw36Tpe$EQ_sbL%3GsG8pbE4#%KQT+G8hvLVmtG!{Z{!+e*cf7?@KK`uabaVUj zr>^a${Y<%qpJVNI{}Ak0;i=j!x?7^%661I&YltZMOE<1ZI`q$w>2CLI<)rUUrp4b+ z-RF|VhoyL!KGwfFf(ZPu^Jkr7_XSM8pR{^~^1Wjo-HEr7xBbpm`}%Q7=WIjGon`UUd98hu#tpqBCveMx>B#UnZuBc3oi!~> zOXttnO$AH1f0x{8mhPvPuVhN^&qAflIN{qoX6X;4J^EOllBX?}<^*fk9kgi-K3RV( zO0?^6zwaK){G{+rgkMiPMB`7}-YhFxkk7U)!g$7Z4J@V)vvUwHJPm7_H5RE3QiFcg z$~!78JaxXNvG{8iz8L9URMG=kir}a6T6sQCj>36I@l}WJ#>ddl>##ll(&wU`BPo#I z0uS8r_v2uT@h)9XmNYlmx9B^s$5c-6D3H7#J}Qm)SpAyIik9;p;n*ZuzIA=q3WlS z9Up%oC!~6JUdY3m`nsC6RyXl4j3fCNKAQC$PgnWqj!)7JjWT-5Ew3fW+L7kYwm$cH z`@XL0kFI=D|5E#TK6#q`IIJBm=LUP}U-ZH}Sv)IwN(nj6^QeshxUH_bwWc0_8$+_i zyOiyk_~YYhu9{i040p4oJ;LG#6wba!rbjmJY0cr|*Ksp{cEXR_qLyYhXEc5s_H(cw zFO{#xMxRdK7x!oPjg}^T?DAtl^V= zy!HCq@ZC9{x2ogfAgrU`s>CAVqVo_Ypa}Qa5yIXtuc1fL2NmuuVrG1yXF@A1TTlxGo$AQ4 zX1;FHC*>GDv=!~EHvE7%n|MC$zU`;ot38GE#ld42KN7wEf#O9^{{HUKFJJgP9qqqz z-!_~FFCx!!XqgUAu21~kKnK>CBY&+kwAa($9F^I8t-mkhkxov3-^lYG53l4&*yb|6 zv&dDL?z(;~MHoN6i4oU2>I>in;JM&!;CbL3;8yTs@M17Vx=X-9@KR6;tjobkAm7Z0 z&jzmoCC68TlHY54%d zgB>8>^oXAX-V2@vehs`3d5K`?`DsmhU{d_z;lyD#pixPl0?x*S`PDH*)R!zbnD# z@Q;H(1J42Z#)!Qe@#o-mxL*ME&cheM=fIc1m%(3xm^;~be~ZDLxS8JVyTAH=$1Aw` zcD8#JJR1BBsPA>W1~!1NgKgj&;1%Fo;0@q!LB65xeh1zQz74(v{vP}__zw6g$o=H_ z@4)xKcft3;KZAb&bvO7!umJoMxEuIqa9{9aa24pH+?fOe@H8+Ao(ICi_$44_iSg?| zeXsY+ATOGUe;w3!dhY^xSyg-o*b{sl)c1K`1ABpQgZeJ-pFn+=m)8f`cXu3~)EF0_0mQ@daQRs5{8CY5X{FIJg!Z37!d#1}_Bn1g`}5 z0>1|C4c-rq0lx<#3-KR=`+`q{<={);IPi6FJopYc5&R1{3EU%x?+k$DAhvGt>EKkb z;{RjsP2j62(zx9|NeF=iNRUky4T}g07!eT=AuO^eOF&T6APGqzk%Yt~ARua^s5qkH zi0hz&;*JXHC@Lx{ZX+s=%eaf%xGS#XIF8=u|5o=oCx^Jrc<-I>`=z1soa(Oit-ZRc z8V-b`;DK-)JP1yOL*OxRC@h1+;7L&Be*Xepn43f%D+Ya6Wt^ z(0>}}zl25H-?a%R%EQiZHryMQ!oKkDDeMh}@4<862k?6MA>07}1@D0cn12Y$zrR5F z_cY{OQvW5m5dH`k!4^%~vkE)F#jqmc9$@i)Lrp!QN<3SWd*z)b4? zHE<7j9qa|KhyCDBzQBt0j`JZ;Rg5;yd8cE{|tAdt+^9+fg52Tco*ys z?}i7$E8%E(6`Tmy!YS}xcr?5Zmcq?&1$+=b1RsKr!YweR8TBnphmXSM@G+=1_i;EF zJ^_cpt#B565*`bmf+xY};1c*eyac`gFNc4FSHl{0<;n(n9_zipzs@%N-zeoQT`~iLr ze}p~gTt;xO7fgcs7I-oo2~*%$mu-R~;2n^c zeEv&t7x*S@4L^fz;Fpj#!{3!Y#;))X*d9)W9pF)rZ$kN}!)&+$c7_kauJEt08~hvW z0kav4^n?|V^K7e;V8eo(FT_rEp((Iouy!1N*}p;Q)9G90c!%gW>&f z2z&?*g-^p=_%}EVz6wXcx8O+lDI5jAfurGWOrnf|d&04Be|QKS49COKZ~~kNC&5}c z87_c_!5iRIcq=>{-U*L_EXVR_WBu`PIy@ZG*80=oOt=sh!P8(dJR6q43*l^d1uTVE zL)vD41LS;R|1MY#UxyX&J;-^({@1V)YF|3%cK9i+sIOo%cp~foPlBD`$*?Q*VQ;tu z4uq$`VenKq3Z4%qz?Co$@~tj^3cLj7!%JZ~Tm`G(WpEK(4VS_-a5cON-U!#i_3&!= z2)qV90k4Bv>vTPQ1Kt2Xgg3%3;5zsZcr)Y(QSTPm9dcf>-xF?tec-LIFT4#7g`8XB zSHU}AExZ%n3^&2M;l1!dcprQeZiY|7E%15x2z(np3L7&}dJHy$kHcNzUto7QE}8ZR zj)#ZBC%HcfJ_C=0&%zn-Iamx|fR*r5cmn(ko(y-uQ{m_E4EP1S5Pk_ChF`;$^zXlg zz2SGTFFb>Kza4Ic z_d(8s@wdUZpx!NTE{vVY@GQ(`Jn$Us3ZI8V;ol(V=6El{Met>)@x?1}EqoPnK8*Jo zybHbo?}cx|#~^)0J40RmDW20%ZXKXoU#NJ}-H6Uz{)l|(4tN|B>JNk|a0+Y$kA`Wm z1U7+lU=pkf^m4xd<<`F0Hw|r^Cimoqt`?XlyLr1nr9)dd5w?RxusvJ|={x%;LCyg; zIqwcnL!S-9c)0ap)MeaHjK>(vaoZaQ_kj~&e>e#af`>u*KLw5qo{tUma^FLCZjBRt z8^$?upVyl}h!cU;a?$5x<@OgM7d;uN{Npq9eYmnvqb{70u z@J;lWL)pI?z74O3@4$8NUAP|p9Xp-7Dxb>VZW%gX-M!A0o z`~V&qJg*7vFM>~T|Kva~IrKoewI0k5@LO`=vF-H*cGkT374~Gl6y={{;kX|BUN)%jP;Px+UD zDo5%17r{w}Kfu1a5pnr|DI;HXMN@bXYy|UQDx3_{pz?PUSOH~jE|j^NKp%~7;Qv3l zpBUdi2L4|FmA@{6^5+t$GC^HoXRrJTk|w5?yV8FNW$)WSulpCH{G~3wcko;OWulg& zbgky`u8=%r{*j0L@#t@WDrYysNpKxJ4BiZnhU;Mg+yILpZu^yRBRmn_1@V^e=yFyQ z+zeO2JK-Am095#@P`RhM@Lk7mg)bddjMB9bbK+vCa!47saI*By!pTFE%My4L&(DNP zQB(C1+a2Z?%RbTu8%75k#?Asj6q4L8y@L6~s+#^E%f&Jjca3uT_%!hJ! zHsstg|5$h#tcJ`z*mrSP!&3uu3cqCL-cPxKMMO;L0;|mevlfgKM~dGo*>cL? z>(So}H^8UiZICw3&YJrhyaWBq@J{$1+z3C1_dq3v!qpDOpDne$9sNR-I$W8kY*Y>^ z7p3*6#VD zYPcFC&>(>Z2{cHcK>`gDXplgI1R5mJAc6n0B#=UI|F_Qno4x4x>ayCB-|76nlQNk< zvE663-op|{bI;t?8Rg!q{K#X%fT7;(MKg*jE2`YOyd~V{ESFj>WDM7dIdko8eU;Wn zA8Yn5X8&npTVGX+o8cLKvcvE%aJ#M9nTws-W@k-gcT8$cmh3RHE)m0XWYUk6J1=q0 z&m!ikngsVF-Wt1Kif^3l!~it57A$rqo5t~%nIHOQwD!+wU2?>G#_SI8QUZI>$oe&IUFEoM)rOYDaX-F^Yd z=m1nGt6T+a=gZdWN-lXkiE-) zo^xA!T83oF4znH6GYqwldzRVRGx7|s#mZD{O|HuE9cE^C@=>_{a;~|r@;1}L)fQPD zl_k-sY@CA9I>k`^O!yF6l2`nC*j&sh9`Wm8!#tm-iB7KONh*_$Ph)?D zg;90fqLS)LrGMSD3)9J&+uLNWbic>!y&buj^Xg z?ZXJm$gHwz4t!A_(HSVunwcjer$-ujvsmNJyGU;>laZ2FM(ViK)Z{^IxM-W+JvBWe zrFm*batpQw_TpArdJlGBG-{QanVim#%%<$gXq7(EJ!4Nt+w{HCd#3M=jpqDqn%qcR z!r23!kuf#gZxPmAv9Q(MW7PQ=#c@9G0*Ca9WbQ<;bGWyXFCe-)B;u{N`^Qn|7I|9VAJ!w1 zkLr-H9?4eFcD^i6g=^VmCtQ=8n7=fatuzhulIn%&=69_AeK6G>CCkirTTXh>IBTJHuL1gqVmd`k{QQy+vKy5XSAOj2kh3is}8=!%--r< z8(052`))6nYsX^g*ABPVnVtLjE)w5%3)-u&Jhs7)Un4uoD+jj}CfX(olj52&Lt%95 zf~9Yhpzoca?;q%&!5x_&8~5DRx!M6v?vjAG=AiVG>c)E;J5^>LS-B&seo{^+o4HBe zs5m(}yD>Q>_D$S#cXpEGw%FV_#+yJ4!?F^}?bp^{@$w4mulV*oKF+xrc*<3c()*5b z)Vsuado<3mb|${fP#HOdL~!P2@=jf+;Obt)+owS3lV);q?SuQ6RoFItY;KoeM{#uZ zmvcvQaP0%Ty6J#c)DRpqqc+5uX=3G5Ypg#AWHrkC(!PPZekbN-?HzY+%;ua&g->VW z*0tl>rr4e~`P<0iGn`h??P=3~mRKC!{xRiemFr)dMv3jo0OIM|6DKR}14bWZa1|6NO~}Jl)odx7WoZ*HAD4EaIkorhyJdVyw6eOQ z(297NR?aPb7j1;KJ$Mng--$dl()J=G*6XsXLUy8sqY>rHodcmYbCOvPIkNLrr(KSZ zv*aV0xpN?5VT_l>^5)LLCxOcIgD92f6$POz=G7K)PhpLhMVL>oFmoHd)8opsv)cmq zqI;$+A4%5kS*$FtGW(l(2VH-kM)G*i%($~(o+E7ZWNcqixZm=5d%g@mTs~7>@LTd( zyv&*hGIMo75$WgZSNR+EZQ|v(ST7E_W}#F!6reuBY(Zg6el^^yPkyQ!oVi)vFutND zGwvKA&gQ_5WNiDU%&nN2t~{d_vOT5BGira%G&4=3dFDTje^?i~JmbQl_=aueCX>Id zajW5B4>gKK{In@{;)_<@Q{8#<{I= zq}z-Aftf$o%Ae9n{rYMKz_S;+dQfe|duHZBvr`%g-O%{fjdQ~GVjyAvwe?YaJ_+UI z@`(#?SRc82u`tEUub(2sbvj{^D68NH{Llg&t9#}Ll@HJAlb`a8GrOyex7GK(#O%(B z9OO0Tdw4nsor<)xibW1k5#253lMi_M_;Ho;R*tOheAVguD%{FbxtNR3XUbD*%M$Bwna$(AWX`uFEv?jV%d_x! zp5zf zocW$+Ui+xy%_|SYkIhs*oq4xUTjyOn^V+|@bKl{&wu50=P3%wP5)OqW98*YMU!lJa z^;`GoHKw7;jI3?^*PJEG-d}S2s=m*kzU}2xetOT~NcxnSk#!xOzN`77&sO3cuK6qUFsoT~Zd&l;kNB3upWA|5lyLof*sE%(A`s}E?TeMwX#-0Ge z+7YEod8h!cW{j$_R1Uuse=1D}L)5M^VNK=N7r|uAL1JKu?ft z?amRf0R1$`u*YL6%Rde>HKSwunQ?P#+URcj=b>K?FNQw{GyTnfwKX;5pgmca$^ zOt=IpT&F>w|Cd0L$iEyazLL{+l$$qm^Kp{XuBhiwx~RT=^^@8`^&5HScY(}5*&3t{ za3K0&a3tIvPJx|aA;hdd3-*Miuot`?vi{272={>xLj3i&!hPYpurK@&%H6MFKlnWy z0Fxs2En`0w4o0s%mSNDiIa_ifvr{S3h%^xcX&4> zY~Fov1SE{M#&8QPME^Lff=|Ik@M(BH+y*az&%-<53vd&}fBzx)5_|-{3}1mC!`I-K z@LRYYW)kjqpz<*5pZp&1BRB$n0!P75;TTBVEPm^;>*jl?tCL)QC+)noC|xTtw;Q|^ zA}jB5sCZog$HD92WVjkmg;&A?coihC${ox9*Ff?l<9^ooLh26xbSV343D1r2CU_IP z1>Ovwf;Ye~q0Idl=#?%TQEuMArG?U^6>1$y7yD5y|ILRj(6heSSGuvj*w(C_3im>P z8axoP&f3=UY42_xdhOjk3@(R9!n5HF$bMGKkLSW_^yk6FP8{;(??2z$VTU>`UXDm_NR@o*HB z`voXBK6T@9x!(je1*MBT?`Ob{Fbj5uT_AOdttsygC6_(nMA#crx7qiC%LBdq8GtG% zP&?(uiSj1})eEI-3-*+s9)ptq<52a%Rw(=HQ7a0Z{U`Y?`!XNqzx^;LISdNy=fZu^ zkA(X}^0a>lWUkns1nKAbM??Blw)Su$tVK^B%+~T!7ix*P$C%&Nv>pbRqn`p-!0GT$ z@F+-`_E@iKYYvCO2ZQIKeBGGDjcF9_c=;A#K9zfAFdfc??ICro)q6E?82Vax7@P-{ z&njU-pqD=i)3!n!QnUFThtAdixY>2b= zol@oBIq3fYE8y91E|lLgzY?-u-@hc#D_q-Au21Xw=<;({)N?3Zi;0KyOQG`BAK*ZE z4jc;~fYae0VG-1t(i5Q8ke&-y!OP%fa1EsG@u>^!yTflmtpWWf{4@L!YVD`$b*=r} z1>Oz!f?E4|0F-~K_clS&)?=TF?Ww;HmZIMb)gImoHP(>%Fr8hW%i08!e|$QBhZvOK ze}KB5j6LP^G^l*u1gf02fXc7Up~{T(g9E(}wGMRT?zHo8F)EM3S&UkMT8@4S&q`6N z_`MFbjQguln^B9ozZ|uR``gg3=J!U_Hq`qlFPk6MV{*^ziB+{_6=jRc z=FZL@!ApGR>#G@cjLXtFqv5+T+D5xnU#YG=1N8vUbqE&4i+5v%^9#!~KT`MIn8wB$ z%Vs!p%t^VqV~yXOUA=1z$Kc_4VD8MaBD1rX&DqVvxO(Io%eCZJXM1*#J&PzD-f{L! z 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 Q0tE^bC{Uol{{ag8Ka@lfT>t<8 literal 0 HcmV?d00001 diff --git a/vcpkg/installed/x64-windows/bin/zlib1.dll b/vcpkg/installed/x64-windows/bin/zlib1.dll new file mode 100644 index 0000000000000000000000000000000000000000..36b87fe5c0fcecedc3ebc75a8abc02fb48139bf3 GIT binary patch literal 85504 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 NQ6l{2`hVF1{|!Q@N8bPd literal 0 HcmV?d00001 diff --git a/vcpkg/installed/x64-windows/include/zconf.h b/vcpkg/installed/x64-windows/include/zconf.h new file mode 100644 index 0000000..7740426 --- /dev/null +++ b/vcpkg/installed/x64-windows/include/zconf.h @@ -0,0 +1,544 @@ +/* zconf.h -- configuration of the zlib compression library + * Copyright (C) 1995-2016 Jean-loup Gailly, Mark Adler + * For conditions of distribution and use, see copyright notice in zlib.h + */ + +/* @(#) $Id$ */ + +#ifndef ZCONF_H +#define ZCONF_H +/* #undef Z_PREFIX */ +/* #undef Z_HAVE_UNISTD_H */ + +/* + * If you *really* need a unique prefix for all types and library functions, + * compile with -DZ_PREFIX. The "standard" zlib should be compiled without it. + * Even better than compiling with -DZ_PREFIX would be to use configure to set + * this permanently in zconf.h using "./configure --zprefix". + */ +#ifdef Z_PREFIX /* may be set to #if 1 by ./configure */ +# define Z_PREFIX_SET + +/* all linked symbols and init macros */ +# define _dist_code z__dist_code +# define _length_code z__length_code +# define _tr_align z__tr_align +# define _tr_flush_bits z__tr_flush_bits +# define _tr_flush_block z__tr_flush_block +# define _tr_init z__tr_init +# define _tr_stored_block z__tr_stored_block +# define _tr_tally z__tr_tally +# define adler32 z_adler32 +# define adler32_combine z_adler32_combine +# define adler32_combine64 z_adler32_combine64 +# define adler32_z z_adler32_z +# ifndef Z_SOLO +# define compress z_compress +# define compress2 z_compress2 +# define compressBound z_compressBound +# endif +# define crc32 z_crc32 +# define crc32_combine z_crc32_combine +# define crc32_combine64 z_crc32_combine64 +# define crc32_z z_crc32_z +# define deflate z_deflate +# define deflateBound z_deflateBound +# define deflateCopy z_deflateCopy +# define deflateEnd z_deflateEnd +# define deflateGetDictionary z_deflateGetDictionary +# define deflateInit z_deflateInit +# define deflateInit2 z_deflateInit2 +# define deflateInit2_ z_deflateInit2_ +# define deflateInit_ z_deflateInit_ +# define deflateParams z_deflateParams +# define deflatePending z_deflatePending +# define deflatePrime z_deflatePrime +# define deflateReset z_deflateReset +# define deflateResetKeep z_deflateResetKeep +# define deflateSetDictionary z_deflateSetDictionary +# define deflateSetHeader z_deflateSetHeader +# define deflateTune z_deflateTune +# define deflate_copyright z_deflate_copyright +# define get_crc_table z_get_crc_table +# ifndef Z_SOLO +# define gz_error z_gz_error +# define gz_intmax z_gz_intmax +# define gz_strwinerror z_gz_strwinerror +# define gzbuffer z_gzbuffer +# define gzclearerr z_gzclearerr +# define gzclose z_gzclose +# define gzclose_r z_gzclose_r +# define gzclose_w z_gzclose_w +# define gzdirect z_gzdirect +# define gzdopen z_gzdopen +# define gzeof z_gzeof +# define gzerror z_gzerror +# define gzflush z_gzflush +# define gzfread z_gzfread +# define gzfwrite z_gzfwrite +# define gzgetc z_gzgetc +# define gzgetc_ z_gzgetc_ +# define gzgets z_gzgets +# define gzoffset z_gzoffset +# define gzoffset64 z_gzoffset64 +# define gzopen z_gzopen +# define gzopen64 z_gzopen64 +# ifdef _WIN32 +# define gzopen_w z_gzopen_w +# endif +# define gzprintf z_gzprintf +# define gzputc z_gzputc +# define gzputs z_gzputs +# define gzread z_gzread +# define gzrewind z_gzrewind +# define gzseek z_gzseek +# define gzseek64 z_gzseek64 +# define gzsetparams z_gzsetparams +# define gztell z_gztell +# define gztell64 z_gztell64 +# define gzungetc z_gzungetc +# define gzvprintf z_gzvprintf +# define gzwrite z_gzwrite +# endif +# define inflate z_inflate +# define inflateBack z_inflateBack +# define inflateBackEnd z_inflateBackEnd +# define inflateBackInit z_inflateBackInit +# define inflateBackInit_ z_inflateBackInit_ +# define inflateCodesUsed z_inflateCodesUsed +# define inflateCopy z_inflateCopy +# define inflateEnd z_inflateEnd +# define inflateGetDictionary z_inflateGetDictionary +# define inflateGetHeader z_inflateGetHeader +# define inflateInit z_inflateInit +# define inflateInit2 z_inflateInit2 +# define inflateInit2_ z_inflateInit2_ +# define inflateInit_ z_inflateInit_ +# define inflateMark z_inflateMark +# define inflatePrime z_inflatePrime +# define inflateReset z_inflateReset +# define inflateReset2 z_inflateReset2 +# define inflateResetKeep z_inflateResetKeep +# define inflateSetDictionary z_inflateSetDictionary +# define inflateSync z_inflateSync +# define inflateSyncPoint z_inflateSyncPoint +# define inflateUndermine z_inflateUndermine +# define inflateValidate z_inflateValidate +# define inflate_copyright z_inflate_copyright +# define inflate_fast z_inflate_fast +# define inflate_table z_inflate_table +# ifndef Z_SOLO +# define uncompress z_uncompress +# define uncompress2 z_uncompress2 +# endif +# define zError z_zError +# ifndef Z_SOLO +# define zcalloc z_zcalloc +# define zcfree z_zcfree +# endif +# define zlibCompileFlags z_zlibCompileFlags +# define zlibVersion z_zlibVersion + +/* all zlib typedefs in zlib.h and zconf.h */ +# define Byte z_Byte +# define Bytef z_Bytef +# define alloc_func z_alloc_func +# define charf z_charf +# define free_func z_free_func +# ifndef Z_SOLO +# define gzFile z_gzFile +# endif +# define gz_header z_gz_header +# define gz_headerp z_gz_headerp +# define in_func z_in_func +# define intf z_intf +# define out_func z_out_func +# define uInt z_uInt +# define uIntf z_uIntf +# define uLong z_uLong +# define uLongf z_uLongf +# define voidp z_voidp +# define voidpc z_voidpc +# define voidpf z_voidpf + +/* all zlib structs in zlib.h and zconf.h */ +# define gz_header_s z_gz_header_s +# define internal_state z_internal_state + +#endif + +#if defined(__MSDOS__) && !defined(MSDOS) +# define MSDOS +#endif +#if (defined(OS_2) || defined(__OS2__)) && !defined(OS2) +# define OS2 +#endif +#if defined(_WINDOWS) && !defined(WINDOWS) +# define WINDOWS +#endif +#if defined(_WIN32) || defined(_WIN32_WCE) || defined(__WIN32__) +# ifndef WIN32 +# define WIN32 +# endif +#endif +#if (defined(MSDOS) || defined(OS2) || defined(WINDOWS)) && !defined(WIN32) +# if !defined(__GNUC__) && !defined(__FLAT__) && !defined(__386__) +# ifndef SYS16BIT +# define SYS16BIT +# endif +# endif +#endif + +/* + * Compile with -DMAXSEG_64K if the alloc function cannot allocate more + * than 64k bytes at a time (needed on systems with 16-bit int). + */ +#ifdef SYS16BIT +# define MAXSEG_64K +#endif +#ifdef MSDOS +# define UNALIGNED_OK +#endif + +#ifdef __STDC_VERSION__ +# ifndef STDC +# define STDC +# endif +# if __STDC_VERSION__ >= 199901L +# ifndef STDC99 +# define STDC99 +# endif +# endif +#endif +#if !defined(STDC) && (defined(__STDC__) || defined(__cplusplus)) +# define STDC +#endif +#if !defined(STDC) && (defined(__GNUC__) || defined(__BORLANDC__)) +# define STDC +#endif +#if !defined(STDC) && (defined(MSDOS) || defined(WINDOWS) || defined(WIN32)) +# define STDC +#endif +#if !defined(STDC) && (defined(OS2) || defined(__HOS_AIX__)) +# define STDC +#endif + +#if defined(__OS400__) && !defined(STDC) /* iSeries (formerly AS/400). */ +# define STDC +#endif + +#ifndef STDC +# ifndef const /* cannot use !defined(STDC) && !defined(const) on Mac */ +# define const /* note: need a more gentle solution here */ +# endif +#endif + +#if defined(ZLIB_CONST) && !defined(z_const) +# define z_const const +#else +# define z_const +#endif + +#ifdef Z_SOLO + typedef unsigned long z_size_t; +#else +# define z_longlong long long +# if defined(NO_SIZE_T) + typedef unsigned NO_SIZE_T z_size_t; +# elif defined(STDC) +# include + typedef size_t z_size_t; +# else + typedef unsigned long z_size_t; +# endif +# undef z_longlong +#endif + +/* Maximum value for memLevel in deflateInit2 */ +#ifndef MAX_MEM_LEVEL +# ifdef MAXSEG_64K +# define MAX_MEM_LEVEL 8 +# else +# define MAX_MEM_LEVEL 9 +# endif +#endif + +/* Maximum value for windowBits in deflateInit2 and inflateInit2. + * WARNING: reducing MAX_WBITS makes minigzip unable to extract .gz files + * created by gzip. (Files created by minigzip can still be extracted by + * gzip.) + */ +#ifndef MAX_WBITS +# define MAX_WBITS 15 /* 32K LZ77 window */ +#endif + +/* The memory requirements for deflate are (in bytes): + (1 << (windowBits+2)) + (1 << (memLevel+9)) + that is: 128K for windowBits=15 + 128K for memLevel = 8 (default values) + plus a few kilobytes for small objects. For example, if you want to reduce + the default memory requirements from 256K to 128K, compile with + make CFLAGS="-O -DMAX_WBITS=14 -DMAX_MEM_LEVEL=7" + Of course this will generally degrade compression (there's no free lunch). + + The memory requirements for inflate are (in bytes) 1 << windowBits + that is, 32K for windowBits=15 (default value) plus about 7 kilobytes + for small objects. +*/ + + /* Type declarations */ + +#ifndef OF /* function prototypes */ +# ifdef STDC +# define OF(args) args +# else +# define OF(args) () +# endif +#endif + +#ifndef Z_ARG /* function prototypes for stdarg */ +# if defined(STDC) || defined(Z_HAVE_STDARG_H) +# define Z_ARG(args) args +# else +# define Z_ARG(args) () +# endif +#endif + +/* The following definitions for FAR are needed only for MSDOS mixed + * model programming (small or medium model with some far allocations). + * This was tested only with MSC; for other MSDOS compilers you may have + * to define NO_MEMCPY in zutil.h. If you don't need the mixed model, + * just define FAR to be empty. + */ +#ifdef SYS16BIT +# if defined(M_I86SM) || defined(M_I86MM) + /* MSC small or medium model */ +# define SMALL_MEDIUM +# ifdef _MSC_VER +# define FAR _far +# else +# define FAR far +# endif +# endif +# if (defined(__SMALL__) || defined(__MEDIUM__)) + /* Turbo C small or medium model */ +# define SMALL_MEDIUM +# ifdef __BORLANDC__ +# define FAR _far +# else +# define FAR far +# endif +# endif +#endif + +#if defined(WINDOWS) || defined(WIN32) + /* If building or using zlib as a DLL, define ZLIB_DLL. + * This is not mandatory, but it offers a little performance increase. + */ +# ifdef ZLIB_DLL +# if defined(WIN32) && (!defined(__BORLANDC__) || (__BORLANDC__ >= 0x500)) +# ifdef ZLIB_INTERNAL +# define ZEXTERN extern __declspec(dllexport) +# else +# define ZEXTERN extern __declspec(dllimport) +# endif +# endif +# endif /* ZLIB_DLL */ + /* If building or using zlib with the WINAPI/WINAPIV calling convention, + * define ZLIB_WINAPI. + * Caution: the standard ZLIB1.DLL is NOT compiled using ZLIB_WINAPI. + */ +# ifdef ZLIB_WINAPI +# ifdef FAR +# undef FAR +# endif +# include + /* No need for _export, use ZLIB.DEF instead. */ + /* For complete Windows compatibility, use WINAPI, not __stdcall. */ +# define ZEXPORT WINAPI +# ifdef WIN32 +# define ZEXPORTVA WINAPIV +# else +# define ZEXPORTVA FAR CDECL +# endif +# endif +#endif + +#if defined (__BEOS__) +# ifdef ZLIB_DLL +# ifdef ZLIB_INTERNAL +# define ZEXPORT __declspec(dllexport) +# define ZEXPORTVA __declspec(dllexport) +# else +# define ZEXPORT __declspec(dllimport) +# define ZEXPORTVA __declspec(dllimport) +# endif +# endif +#endif + +#ifndef ZEXTERN +# define ZEXTERN extern +#endif +#ifndef ZEXPORT +# define ZEXPORT +#endif +#ifndef ZEXPORTVA +# define ZEXPORTVA +#endif + +#ifndef FAR +# define FAR +#endif + +#if !defined(__MACTYPES__) +typedef unsigned char Byte; /* 8 bits */ +#endif +typedef unsigned int uInt; /* 16 bits or more */ +typedef unsigned long uLong; /* 32 bits or more */ + +#ifdef SMALL_MEDIUM + /* Borland C/C++ and some old MSC versions ignore FAR inside typedef */ +# define Bytef Byte FAR +#else + typedef Byte FAR Bytef; +#endif +typedef char FAR charf; +typedef int FAR intf; +typedef uInt FAR uIntf; +typedef uLong FAR uLongf; + +#ifdef STDC + typedef void const *voidpc; + typedef void FAR *voidpf; + typedef void *voidp; +#else + typedef Byte const *voidpc; + typedef Byte FAR *voidpf; + typedef Byte *voidp; +#endif + +#if !defined(Z_U4) && !defined(Z_SOLO) && defined(STDC) +# include +# if (UINT_MAX == 0xffffffffUL) +# define Z_U4 unsigned +# elif (ULONG_MAX == 0xffffffffUL) +# define Z_U4 unsigned long +# elif (USHRT_MAX == 0xffffffffUL) +# define Z_U4 unsigned short +# endif +#endif + +#ifdef Z_U4 + typedef Z_U4 z_crc_t; +#else + typedef unsigned long z_crc_t; +#endif + +#ifdef HAVE_UNISTD_H /* may be set to #if 1 by ./configure */ +# if ~(~HAVE_UNISTD_H + 0) == 0 && ~(~HAVE_UNISTD_H + 1) == 1 +# define Z_HAVE_UNISTD_H +# elif HAVE_UNISTD_H != 0 +# define Z_HAVE_UNISTD_H +# endif +#endif + +#ifdef HAVE_STDARG_H /* may be set to #if 1 by ./configure */ +# if ~(~HAVE_STDARG_H + 0) == 0 && ~(~HAVE_STDARG_H + 1) == 1 +# define Z_HAVE_STDARG_H +# elif HAVE_STDARG_H != 0 +# define Z_HAVE_STDARG_H +# endif +#endif + +#ifdef STDC +# ifndef Z_SOLO +# include /* for off_t */ +# endif +#endif + +#if defined(STDC) || defined(Z_HAVE_STDARG_H) +# ifndef Z_SOLO +# include /* for va_list */ +# endif +#endif + +#ifdef _WIN32 +# ifndef Z_SOLO +# include /* for wchar_t */ +# endif +#endif + +/* a little trick to accommodate both "#define _LARGEFILE64_SOURCE" and + * "#define _LARGEFILE64_SOURCE 1" as requesting 64-bit operations, (even + * though the former does not conform to the LFS document), but considering + * both "#undef _LARGEFILE64_SOURCE" and "#define _LARGEFILE64_SOURCE 0" as + * equivalently requesting no 64-bit operations + */ +#if defined(_LARGEFILE64_SOURCE) && -_LARGEFILE64_SOURCE - -1 == 1 +# undef _LARGEFILE64_SOURCE +#endif + +#if defined(__WATCOMC__) && !defined(Z_HAVE_UNISTD_H) +# define Z_HAVE_UNISTD_H +#endif +#ifndef Z_SOLO +# if defined(Z_HAVE_UNISTD_H) || defined(_LARGEFILE64_SOURCE) +# include /* for SEEK_*, off_t, and _LFS64_LARGEFILE */ +# ifdef VMS +# include /* for off_t */ +# endif +# ifndef z_off_t +# define z_off_t off_t +# endif +# endif +#endif + +#if defined(_LFS64_LARGEFILE) && _LFS64_LARGEFILE-0 +# define Z_LFS64 +#endif + +#if defined(_LARGEFILE64_SOURCE) && defined(Z_LFS64) +# define Z_LARGE64 +#endif + +#if defined(_FILE_OFFSET_BITS) && _FILE_OFFSET_BITS-0 == 64 && defined(Z_LFS64) +# define Z_WANT64 +#endif + +#if !defined(SEEK_SET) && !defined(Z_SOLO) +# define SEEK_SET 0 /* Seek from beginning of file. */ +# define SEEK_CUR 1 /* Seek from current position. */ +# define SEEK_END 2 /* Set file pointer to EOF plus "offset" */ +#endif + +#ifndef z_off_t +# define z_off_t long +#endif + +#if !defined(_WIN32) && defined(Z_LARGE64) +# define z_off64_t off64_t +#else +# if defined(_WIN32) && !defined(__GNUC__) && !defined(Z_SOLO) +# define z_off64_t __int64 +# else +# define z_off64_t z_off_t +# endif +#endif + +/* MVS linker does not support external names larger than 8 bytes */ +#if defined(__MVS__) + #pragma map(deflateInit_,"DEIN") + #pragma map(deflateInit2_,"DEIN2") + #pragma map(deflateEnd,"DEEND") + #pragma map(deflateBound,"DEBND") + #pragma map(inflateInit_,"ININ") + #pragma map(inflateInit2_,"ININ2") + #pragma map(inflateEnd,"INEND") + #pragma map(inflateSync,"INSY") + #pragma map(inflateSetDictionary,"INSEDI") + #pragma map(compressBound,"CMBND") + #pragma map(inflate_table,"INTABL") + #pragma map(inflate_fast,"INFA") + #pragma map(inflate_copyright,"INCOPY") +#endif + +#endif /* ZCONF_H */ diff --git a/vcpkg/installed/x64-windows/include/zlib.h b/vcpkg/installed/x64-windows/include/zlib.h new file mode 100644 index 0000000..f09cdaf --- /dev/null +++ b/vcpkg/installed/x64-windows/include/zlib.h @@ -0,0 +1,1912 @@ +/* zlib.h -- interface of the 'zlib' general purpose compression library + version 1.2.11, January 15th, 2017 + + Copyright (C) 1995-2017 Jean-loup Gailly and Mark Adler + + This software is provided 'as-is', without any express or implied + warranty. In no event will the authors be held liable for any damages + arising from the use of this software. + + Permission is granted to anyone to use this software for any purpose, + including commercial applications, and to alter it and redistribute it + freely, subject to the following restrictions: + + 1. The origin of this software must not be misrepresented; you must not + claim that you wrote the original software. If you use this software + in a product, an acknowledgment in the product documentation would be + appreciated but is not required. + 2. Altered source versions must be plainly marked as such, and must not be + misrepresented as being the original software. + 3. This notice may not be removed or altered from any source distribution. + + Jean-loup Gailly Mark Adler + jloup@gzip.org madler@alumni.caltech.edu + + + The data format used by the zlib library is described by RFCs (Request for + Comments) 1950 to 1952 in the files http://tools.ietf.org/html/rfc1950 + (zlib format), rfc1951 (deflate format) and rfc1952 (gzip format). +*/ + +#ifndef ZLIB_H +#define ZLIB_H + +#include "zconf.h" + +#ifdef __cplusplus +extern "C" { +#endif + +#define ZLIB_VERSION "1.2.11" +#define ZLIB_VERNUM 0x12b0 +#define ZLIB_VER_MAJOR 1 +#define ZLIB_VER_MINOR 2 +#define ZLIB_VER_REVISION 11 +#define ZLIB_VER_SUBREVISION 0 + +/* + The 'zlib' compression library provides in-memory compression and + decompression functions, including integrity checks of the uncompressed data. + This version of the library supports only one compression method (deflation) + but other algorithms will be added later and will have the same stream + interface. + + Compression can be done in a single step if the buffers are large enough, + or can be done by repeated calls of the compression function. In the latter + case, the application must provide more input and/or consume the output + (providing more output space) before each call. + + The compressed data format used by default by the in-memory functions is + the zlib format, which is a zlib wrapper documented in RFC 1950, wrapped + around a deflate stream, which is itself documented in RFC 1951. + + The library also supports reading and writing files in gzip (.gz) format + with an interface similar to that of stdio using the functions that start + with "gz". The gzip format is different from the zlib format. gzip is a + gzip wrapper, documented in RFC 1952, wrapped around a deflate stream. + + This library can optionally read and write gzip and raw deflate streams in + memory as well. + + The zlib format was designed to be compact and fast for use in memory + and on communications channels. The gzip format was designed for single- + file compression on file systems, has a larger header than zlib to maintain + directory information, and uses a different, slower check method than zlib. + + The library does not install any signal handler. The decoder checks + the consistency of the compressed data, so the library should never crash + even in the case of corrupted input. +*/ + +typedef voidpf (*alloc_func) OF((voidpf opaque, uInt items, uInt size)); +typedef void (*free_func) OF((voidpf opaque, voidpf address)); + +struct internal_state; + +typedef struct z_stream_s { + z_const Bytef *next_in; /* next input byte */ + uInt avail_in; /* number of bytes available at next_in */ + uLong total_in; /* total number of input bytes read so far */ + + Bytef *next_out; /* next output byte will go here */ + uInt avail_out; /* remaining free space at next_out */ + uLong total_out; /* total number of bytes output so far */ + + z_const char *msg; /* last error message, NULL if no error */ + struct internal_state FAR *state; /* not visible by applications */ + + alloc_func zalloc; /* used to allocate the internal state */ + free_func zfree; /* used to free the internal state */ + voidpf opaque; /* private data object passed to zalloc and zfree */ + + int data_type; /* best guess about the data type: binary or text + for deflate, or the decoding state for inflate */ + uLong adler; /* Adler-32 or CRC-32 value of the uncompressed data */ + uLong reserved; /* reserved for future use */ +} z_stream; + +typedef z_stream FAR *z_streamp; + +/* + gzip header information passed to and from zlib routines. See RFC 1952 + for more details on the meanings of these fields. +*/ +typedef struct gz_header_s { + int text; /* true if compressed data believed to be text */ + uLong time; /* modification time */ + int xflags; /* extra flags (not used when writing a gzip file) */ + int os; /* operating system */ + Bytef *extra; /* pointer to extra field or Z_NULL if none */ + uInt extra_len; /* extra field length (valid if extra != Z_NULL) */ + uInt extra_max; /* space at extra (only when reading header) */ + Bytef *name; /* pointer to zero-terminated file name or Z_NULL */ + uInt name_max; /* space at name (only when reading header) */ + Bytef *comment; /* pointer to zero-terminated comment or Z_NULL */ + uInt comm_max; /* space at comment (only when reading header) */ + int hcrc; /* true if there was or will be a header crc */ + int done; /* true when done reading gzip header (not used + when writing a gzip file) */ +} gz_header; + +typedef gz_header FAR *gz_headerp; + +/* + The application must update next_in and avail_in when avail_in has dropped + to zero. It must update next_out and avail_out when avail_out has dropped + to zero. The application must initialize zalloc, zfree and opaque before + calling the init function. All other fields are set by the compression + library and must not be updated by the application. + + The opaque value provided by the application will be passed as the first + parameter for calls of zalloc and zfree. This can be useful for custom + memory management. The compression library attaches no meaning to the + opaque value. + + zalloc must return Z_NULL if there is not enough memory for the object. + If zlib is used in a multi-threaded application, zalloc and zfree must be + thread safe. In that case, zlib is thread-safe. When zalloc and zfree are + Z_NULL on entry to the initialization function, they are set to internal + routines that use the standard library functions malloc() and free(). + + On 16-bit systems, the functions zalloc and zfree must be able to allocate + exactly 65536 bytes, but will not be required to allocate more than this if + the symbol MAXSEG_64K is defined (see zconf.h). WARNING: On MSDOS, pointers + returned by zalloc for objects of exactly 65536 bytes *must* have their + offset normalized to zero. The default allocation function provided by this + library ensures this (see zutil.c). To reduce memory requirements and avoid + any allocation of 64K objects, at the expense of compression ratio, compile + the library with -DMAX_WBITS=14 (see zconf.h). + + The fields total_in and total_out can be used for statistics or progress + reports. After compression, total_in holds the total size of the + uncompressed data and may be saved for use by the decompressor (particularly + if the decompressor wants to decompress everything in a single step). +*/ + + /* constants */ + +#define Z_NO_FLUSH 0 +#define Z_PARTIAL_FLUSH 1 +#define Z_SYNC_FLUSH 2 +#define Z_FULL_FLUSH 3 +#define Z_FINISH 4 +#define Z_BLOCK 5 +#define Z_TREES 6 +/* Allowed flush values; see deflate() and inflate() below for details */ + +#define Z_OK 0 +#define Z_STREAM_END 1 +#define Z_NEED_DICT 2 +#define Z_ERRNO (-1) +#define Z_STREAM_ERROR (-2) +#define Z_DATA_ERROR (-3) +#define Z_MEM_ERROR (-4) +#define Z_BUF_ERROR (-5) +#define Z_VERSION_ERROR (-6) +/* Return codes for the compression/decompression functions. Negative values + * are errors, positive values are used for special but normal events. + */ + +#define Z_NO_COMPRESSION 0 +#define Z_BEST_SPEED 1 +#define Z_BEST_COMPRESSION 9 +#define Z_DEFAULT_COMPRESSION (-1) +/* compression levels */ + +#define Z_FILTERED 1 +#define Z_HUFFMAN_ONLY 2 +#define Z_RLE 3 +#define Z_FIXED 4 +#define Z_DEFAULT_STRATEGY 0 +/* compression strategy; see deflateInit2() below for details */ + +#define Z_BINARY 0 +#define Z_TEXT 1 +#define Z_ASCII Z_TEXT /* for compatibility with 1.2.2 and earlier */ +#define Z_UNKNOWN 2 +/* Possible values of the data_type field for deflate() */ + +#define Z_DEFLATED 8 +/* The deflate compression method (the only one supported in this version) */ + +#define Z_NULL 0 /* for initializing zalloc, zfree, opaque */ + +#define zlib_version zlibVersion() +/* for compatibility with versions < 1.0.2 */ + + + /* basic functions */ + +ZEXTERN const char * ZEXPORT zlibVersion OF((void)); +/* The application can compare zlibVersion and ZLIB_VERSION for consistency. + If the first character differs, the library code actually used is not + compatible with the zlib.h header file used by the application. This check + is automatically made by deflateInit and inflateInit. + */ + +/* +ZEXTERN int ZEXPORT deflateInit OF((z_streamp strm, int level)); + + Initializes the internal stream state for compression. The fields + zalloc, zfree and opaque must be initialized before by the caller. If + zalloc and zfree are set to Z_NULL, deflateInit updates them to use default + allocation functions. + + The compression level must be Z_DEFAULT_COMPRESSION, or between 0 and 9: + 1 gives best speed, 9 gives best compression, 0 gives no compression at all + (the input data is simply copied a block at a time). Z_DEFAULT_COMPRESSION + requests a default compromise between speed and compression (currently + equivalent to level 6). + + deflateInit returns Z_OK if success, Z_MEM_ERROR if there was not enough + memory, Z_STREAM_ERROR if level is not a valid compression level, or + Z_VERSION_ERROR if the zlib library version (zlib_version) is incompatible + with the version assumed by the caller (ZLIB_VERSION). msg is set to null + if there is no error message. deflateInit does not perform any compression: + this will be done by deflate(). +*/ + + +ZEXTERN int ZEXPORT deflate OF((z_streamp strm, int flush)); +/* + deflate compresses as much data as possible, and stops when the input + buffer becomes empty or the output buffer becomes full. It may introduce + some output latency (reading input without producing any output) except when + forced to flush. + + The detailed semantics are as follows. deflate performs one or both of the + following actions: + + - Compress more input starting at next_in and update next_in and avail_in + accordingly. If not all input can be processed (because there is not + enough room in the output buffer), next_in and avail_in are updated and + processing will resume at this point for the next call of deflate(). + + - Generate more output starting at next_out and update next_out and avail_out + accordingly. This action is forced if the parameter flush is non zero. + Forcing flush frequently degrades the compression ratio, so this parameter + should be set only when necessary. Some output may be provided even if + flush is zero. + + Before the call of deflate(), the application should ensure that at least + one of the actions is possible, by providing more input and/or consuming more + output, and updating avail_in or avail_out accordingly; avail_out should + never be zero before the call. The application can consume the compressed + output when it wants, for example when the output buffer is full (avail_out + == 0), or after each call of deflate(). If deflate returns Z_OK and with + zero avail_out, it must be called again after making room in the output + buffer because there might be more output pending. See deflatePending(), + which can be used if desired to determine whether or not there is more ouput + in that case. + + Normally the parameter flush is set to Z_NO_FLUSH, which allows deflate to + decide how much data to accumulate before producing output, in order to + maximize compression. + + If the parameter flush is set to Z_SYNC_FLUSH, all pending output is + flushed to the output buffer and the output is aligned on a byte boundary, so + that the decompressor can get all input data available so far. (In + particular avail_in is zero after the call if enough output space has been + provided before the call.) Flushing may degrade compression for some + compression algorithms and so it should be used only when necessary. This + completes the current deflate block and follows it with an empty stored block + that is three bits plus filler bits to the next byte, followed by four bytes + (00 00 ff ff). + + If flush is set to Z_PARTIAL_FLUSH, all pending output is flushed to the + output buffer, but the output is not aligned to a byte boundary. All of the + input data so far will be available to the decompressor, as for Z_SYNC_FLUSH. + This completes the current deflate block and follows it with an empty fixed + codes block that is 10 bits long. This assures that enough bytes are output + in order for the decompressor to finish the block before the empty fixed + codes block. + + If flush is set to Z_BLOCK, a deflate block is completed and emitted, as + for Z_SYNC_FLUSH, but the output is not aligned on a byte boundary, and up to + seven bits of the current block are held to be written as the next byte after + the next deflate block is completed. In this case, the decompressor may not + be provided enough bits at this point in order to complete decompression of + the data provided so far to the compressor. It may need to wait for the next + block to be emitted. This is for advanced applications that need to control + the emission of deflate blocks. + + If flush is set to Z_FULL_FLUSH, all output is flushed as with + Z_SYNC_FLUSH, and the compression state is reset so that decompression can + restart from this point if previous compressed data has been damaged or if + random access is desired. Using Z_FULL_FLUSH too often can seriously degrade + compression. + + If deflate returns with avail_out == 0, this function must be called again + with the same value of the flush parameter and more output space (updated + avail_out), until the flush is complete (deflate returns with non-zero + avail_out). In the case of a Z_FULL_FLUSH or Z_SYNC_FLUSH, make sure that + avail_out is greater than six to avoid repeated flush markers due to + avail_out == 0 on return. + + If the parameter flush is set to Z_FINISH, pending input is processed, + pending output is flushed and deflate returns with Z_STREAM_END if there was + enough output space. If deflate returns with Z_OK or Z_BUF_ERROR, this + function must be called again with Z_FINISH and more output space (updated + avail_out) but no more input data, until it returns with Z_STREAM_END or an + error. After deflate has returned Z_STREAM_END, the only possible operations + on the stream are deflateReset or deflateEnd. + + Z_FINISH can be used in the first deflate call after deflateInit if all the + compression is to be done in a single step. In order to complete in one + call, avail_out must be at least the value returned by deflateBound (see + below). Then deflate is guaranteed to return Z_STREAM_END. If not enough + output space is provided, deflate will not return Z_STREAM_END, and it must + be called again as described above. + + deflate() sets strm->adler to the Adler-32 checksum of all input read + so far (that is, total_in bytes). If a gzip stream is being generated, then + strm->adler will be the CRC-32 checksum of the input read so far. (See + deflateInit2 below.) + + deflate() may update strm->data_type if it can make a good guess about + the input data type (Z_BINARY or Z_TEXT). If in doubt, the data is + considered binary. This field is only for information purposes and does not + affect the compression algorithm in any manner. + + deflate() returns Z_OK if some progress has been made (more input + processed or more output produced), Z_STREAM_END if all input has been + consumed and all output has been produced (only when flush is set to + Z_FINISH), Z_STREAM_ERROR if the stream state was inconsistent (for example + if next_in or next_out was Z_NULL or the state was inadvertently written over + by the application), or Z_BUF_ERROR if no progress is possible (for example + avail_in or avail_out was zero). Note that Z_BUF_ERROR is not fatal, and + deflate() can be called again with more input and more output space to + continue compressing. +*/ + + +ZEXTERN int ZEXPORT deflateEnd OF((z_streamp strm)); +/* + All dynamically allocated data structures for this stream are freed. + This function discards any unprocessed input and does not flush any pending + output. + + deflateEnd returns Z_OK if success, Z_STREAM_ERROR if the + stream state was inconsistent, Z_DATA_ERROR if the stream was freed + prematurely (some input or output was discarded). In the error case, msg + may be set but then points to a static string (which must not be + deallocated). +*/ + + +/* +ZEXTERN int ZEXPORT inflateInit OF((z_streamp strm)); + + Initializes the internal stream state for decompression. The fields + next_in, avail_in, zalloc, zfree and opaque must be initialized before by + the caller. In the current version of inflate, the provided input is not + read or consumed. The allocation of a sliding window will be deferred to + the first call of inflate (if the decompression does not complete on the + first call). If zalloc and zfree are set to Z_NULL, inflateInit updates + them to use default allocation functions. + + inflateInit returns Z_OK if success, Z_MEM_ERROR if there was not enough + memory, Z_VERSION_ERROR if the zlib library version is incompatible with the + version assumed by the caller, or Z_STREAM_ERROR if the parameters are + invalid, such as a null pointer to the structure. msg is set to null if + there is no error message. inflateInit does not perform any decompression. + Actual decompression will be done by inflate(). So next_in, and avail_in, + next_out, and avail_out are unused and unchanged. The current + implementation of inflateInit() does not process any header information -- + that is deferred until inflate() is called. +*/ + + +ZEXTERN int ZEXPORT inflate OF((z_streamp strm, int flush)); +/* + inflate decompresses as much data as possible, and stops when the input + buffer becomes empty or the output buffer becomes full. It may introduce + some output latency (reading input without producing any output) except when + forced to flush. + + The detailed semantics are as follows. inflate performs one or both of the + following actions: + + - Decompress more input starting at next_in and update next_in and avail_in + accordingly. If not all input can be processed (because there is not + enough room in the output buffer), then next_in and avail_in are updated + accordingly, and processing will resume at this point for the next call of + inflate(). + + - Generate more output starting at next_out and update next_out and avail_out + accordingly. inflate() provides as much output as possible, until there is + no more input data or no more space in the output buffer (see below about + the flush parameter). + + Before the call of inflate(), the application should ensure that at least + one of the actions is possible, by providing more input and/or consuming more + output, and updating the next_* and avail_* values accordingly. If the + caller of inflate() does not provide both available input and available + output space, it is possible that there will be no progress made. The + application can consume the uncompressed output when it wants, for example + when the output buffer is full (avail_out == 0), or after each call of + inflate(). If inflate returns Z_OK and with zero avail_out, it must be + called again after making room in the output buffer because there might be + more output pending. + + The flush parameter of inflate() can be Z_NO_FLUSH, Z_SYNC_FLUSH, Z_FINISH, + Z_BLOCK, or Z_TREES. Z_SYNC_FLUSH requests that inflate() flush as much + output as possible to the output buffer. Z_BLOCK requests that inflate() + stop if and when it gets to the next deflate block boundary. When decoding + the zlib or gzip format, this will cause inflate() to return immediately + after the header and before the first block. When doing a raw inflate, + inflate() will go ahead and process the first block, and will return when it + gets to the end of that block, or when it runs out of data. + + The Z_BLOCK option assists in appending to or combining deflate streams. + To assist in this, on return inflate() always sets strm->data_type to the + number of unused bits in the last byte taken from strm->next_in, plus 64 if + inflate() is currently decoding the last block in the deflate stream, plus + 128 if inflate() returned immediately after decoding an end-of-block code or + decoding the complete header up to just before the first byte of the deflate + stream. The end-of-block will not be indicated until all of the uncompressed + data from that block has been written to strm->next_out. The number of + unused bits may in general be greater than seven, except when bit 7 of + data_type is set, in which case the number of unused bits will be less than + eight. data_type is set as noted here every time inflate() returns for all + flush options, and so can be used to determine the amount of currently + consumed input in bits. + + The Z_TREES option behaves as Z_BLOCK does, but it also returns when the + end of each deflate block header is reached, before any actual data in that + block is decoded. This allows the caller to determine the length of the + deflate block header for later use in random access within a deflate block. + 256 is added to the value of strm->data_type when inflate() returns + immediately after reaching the end of the deflate block header. + + inflate() should normally be called until it returns Z_STREAM_END or an + error. However if all decompression is to be performed in a single step (a + single call of inflate), the parameter flush should be set to Z_FINISH. In + this case all pending input is processed and all pending output is flushed; + avail_out must be large enough to hold all of the uncompressed data for the + operation to complete. (The size of the uncompressed data may have been + saved by the compressor for this purpose.) The use of Z_FINISH is not + required to perform an inflation in one step. However it may be used to + inform inflate that a faster approach can be used for the single inflate() + call. Z_FINISH also informs inflate to not maintain a sliding window if the + stream completes, which reduces inflate's memory footprint. If the stream + does not complete, either because not all of the stream is provided or not + enough output space is provided, then a sliding window will be allocated and + inflate() can be called again to continue the operation as if Z_NO_FLUSH had + been used. + + In this implementation, inflate() always flushes as much output as + possible to the output buffer, and always uses the faster approach on the + first call. So the effects of the flush parameter in this implementation are + on the return value of inflate() as noted below, when inflate() returns early + when Z_BLOCK or Z_TREES is used, and when inflate() avoids the allocation of + memory for a sliding window when Z_FINISH is used. + + If a preset dictionary is needed after this call (see inflateSetDictionary + below), inflate sets strm->adler to the Adler-32 checksum of the dictionary + chosen by the compressor and returns Z_NEED_DICT; otherwise it sets + strm->adler to the Adler-32 checksum of all output produced so far (that is, + total_out bytes) and returns Z_OK, Z_STREAM_END or an error code as described + below. At the end of the stream, inflate() checks that its computed Adler-32 + checksum is equal to that saved by the compressor and returns Z_STREAM_END + only if the checksum is correct. + + inflate() can decompress and check either zlib-wrapped or gzip-wrapped + deflate data. The header type is detected automatically, if requested when + initializing with inflateInit2(). Any information contained in the gzip + header is not retained unless inflateGetHeader() is used. When processing + gzip-wrapped deflate data, strm->adler32 is set to the CRC-32 of the output + produced so far. The CRC-32 is checked against the gzip trailer, as is the + uncompressed length, modulo 2^32. + + inflate() returns Z_OK if some progress has been made (more input processed + or more output produced), Z_STREAM_END if the end of the compressed data has + been reached and all uncompressed output has been produced, Z_NEED_DICT if a + preset dictionary is needed at this point, Z_DATA_ERROR if the input data was + corrupted (input stream not conforming to the zlib format or incorrect check + value, in which case strm->msg points to a string with a more specific + error), Z_STREAM_ERROR if the stream structure was inconsistent (for example + next_in or next_out was Z_NULL, or the state was inadvertently written over + by the application), Z_MEM_ERROR if there was not enough memory, Z_BUF_ERROR + if no progress was possible or if there was not enough room in the output + buffer when Z_FINISH is used. Note that Z_BUF_ERROR is not fatal, and + inflate() can be called again with more input and more output space to + continue decompressing. If Z_DATA_ERROR is returned, the application may + then call inflateSync() to look for a good compression block if a partial + recovery of the data is to be attempted. +*/ + + +ZEXTERN int ZEXPORT inflateEnd OF((z_streamp strm)); +/* + All dynamically allocated data structures for this stream are freed. + This function discards any unprocessed input and does not flush any pending + output. + + inflateEnd returns Z_OK if success, or Z_STREAM_ERROR if the stream state + was inconsistent. +*/ + + + /* Advanced functions */ + +/* + The following functions are needed only in some special applications. +*/ + +/* +ZEXTERN int ZEXPORT deflateInit2 OF((z_streamp strm, + int level, + int method, + int windowBits, + int memLevel, + int strategy)); + + This is another version of deflateInit with more compression options. The + fields next_in, zalloc, zfree and opaque must be initialized before by the + caller. + + The method parameter is the compression method. It must be Z_DEFLATED in + this version of the library. + + The windowBits parameter is the base two logarithm of the window size + (the size of the history buffer). It should be in the range 8..15 for this + version of the library. Larger values of this parameter result in better + compression at the expense of memory usage. The default value is 15 if + deflateInit is used instead. + + For the current implementation of deflate(), a windowBits value of 8 (a + window size of 256 bytes) is not supported. As a result, a request for 8 + will result in 9 (a 512-byte window). In that case, providing 8 to + inflateInit2() will result in an error when the zlib header with 9 is + checked against the initialization of inflate(). The remedy is to not use 8 + with deflateInit2() with this initialization, or at least in that case use 9 + with inflateInit2(). + + windowBits can also be -8..-15 for raw deflate. In this case, -windowBits + determines the window size. deflate() will then generate raw deflate data + with no zlib header or trailer, and will not compute a check value. + + windowBits can also be greater than 15 for optional gzip encoding. Add + 16 to windowBits to write a simple gzip header and trailer around the + compressed data instead of a zlib wrapper. The gzip header will have no + file name, no extra data, no comment, no modification time (set to zero), no + header crc, and the operating system will be set to the appropriate value, + if the operating system was determined at compile time. If a gzip stream is + being written, strm->adler is a CRC-32 instead of an Adler-32. + + For raw deflate or gzip encoding, a request for a 256-byte window is + rejected as invalid, since only the zlib header provides a means of + transmitting the window size to the decompressor. + + The memLevel parameter specifies how much memory should be allocated + for the internal compression state. memLevel=1 uses minimum memory but is + slow and reduces compression ratio; memLevel=9 uses maximum memory for + optimal speed. The default value is 8. See zconf.h for total memory usage + as a function of windowBits and memLevel. + + The strategy parameter is used to tune the compression algorithm. Use the + value Z_DEFAULT_STRATEGY for normal data, Z_FILTERED for data produced by a + filter (or predictor), Z_HUFFMAN_ONLY to force Huffman encoding only (no + string match), or Z_RLE to limit match distances to one (run-length + encoding). Filtered data consists mostly of small values with a somewhat + random distribution. In this case, the compression algorithm is tuned to + compress them better. The effect of Z_FILTERED is to force more Huffman + coding and less string matching; it is somewhat intermediate between + Z_DEFAULT_STRATEGY and Z_HUFFMAN_ONLY. Z_RLE is designed to be almost as + fast as Z_HUFFMAN_ONLY, but give better compression for PNG image data. The + strategy parameter only affects the compression ratio but not the + correctness of the compressed output even if it is not set appropriately. + Z_FIXED prevents the use of dynamic Huffman codes, allowing for a simpler + decoder for special applications. + + deflateInit2 returns Z_OK if success, Z_MEM_ERROR if there was not enough + memory, Z_STREAM_ERROR if any parameter is invalid (such as an invalid + method), or Z_VERSION_ERROR if the zlib library version (zlib_version) is + incompatible with the version assumed by the caller (ZLIB_VERSION). msg is + set to null if there is no error message. deflateInit2 does not perform any + compression: this will be done by deflate(). +*/ + +ZEXTERN int ZEXPORT deflateSetDictionary OF((z_streamp strm, + const Bytef *dictionary, + uInt dictLength)); +/* + Initializes the compression dictionary from the given byte sequence + without producing any compressed output. When using the zlib format, this + function must be called immediately after deflateInit, deflateInit2 or + deflateReset, and before any call of deflate. When doing raw deflate, this + function must be called either before any call of deflate, or immediately + after the completion of a deflate block, i.e. after all input has been + consumed and all output has been delivered when using any of the flush + options Z_BLOCK, Z_PARTIAL_FLUSH, Z_SYNC_FLUSH, or Z_FULL_FLUSH. The + compressor and decompressor must use exactly the same dictionary (see + inflateSetDictionary). + + The dictionary should consist of strings (byte sequences) that are likely + to be encountered later in the data to be compressed, with the most commonly + used strings preferably put towards the end of the dictionary. Using a + dictionary is most useful when the data to be compressed is short and can be + predicted with good accuracy; the data can then be compressed better than + with the default empty dictionary. + + Depending on the size of the compression data structures selected by + deflateInit or deflateInit2, a part of the dictionary may in effect be + discarded, for example if the dictionary is larger than the window size + provided in deflateInit or deflateInit2. Thus the strings most likely to be + useful should be put at the end of the dictionary, not at the front. In + addition, the current implementation of deflate will use at most the window + size minus 262 bytes of the provided dictionary. + + Upon return of this function, strm->adler is set to the Adler-32 value + of the dictionary; the decompressor may later use this value to determine + which dictionary has been used by the compressor. (The Adler-32 value + applies to the whole dictionary even if only a subset of the dictionary is + actually used by the compressor.) If a raw deflate was requested, then the + Adler-32 value is not computed and strm->adler is not set. + + deflateSetDictionary returns Z_OK if success, or Z_STREAM_ERROR if a + parameter is invalid (e.g. dictionary being Z_NULL) or the stream state is + inconsistent (for example if deflate has already been called for this stream + or if not at a block boundary for raw deflate). deflateSetDictionary does + not perform any compression: this will be done by deflate(). +*/ + +ZEXTERN int ZEXPORT deflateGetDictionary OF((z_streamp strm, + Bytef *dictionary, + uInt *dictLength)); +/* + Returns the sliding dictionary being maintained by deflate. dictLength is + set to the number of bytes in the dictionary, and that many bytes are copied + to dictionary. dictionary must have enough space, where 32768 bytes is + always enough. If deflateGetDictionary() is called with dictionary equal to + Z_NULL, then only the dictionary length is returned, and nothing is copied. + Similary, if dictLength is Z_NULL, then it is not set. + + deflateGetDictionary() may return a length less than the window size, even + when more than the window size in input has been provided. It may return up + to 258 bytes less in that case, due to how zlib's implementation of deflate + manages the sliding window and lookahead for matches, where matches can be + up to 258 bytes long. If the application needs the last window-size bytes of + input, then that would need to be saved by the application outside of zlib. + + deflateGetDictionary returns Z_OK on success, or Z_STREAM_ERROR if the + stream state is inconsistent. +*/ + +ZEXTERN int ZEXPORT deflateCopy OF((z_streamp dest, + z_streamp source)); +/* + Sets the destination stream as a complete copy of the source stream. + + This function can be useful when several compression strategies will be + tried, for example when there are several ways of pre-processing the input + data with a filter. The streams that will be discarded should then be freed + by calling deflateEnd. Note that deflateCopy duplicates the internal + compression state which can be quite large, so this strategy is slow and can + consume lots of memory. + + deflateCopy returns Z_OK if success, Z_MEM_ERROR if there was not + enough memory, Z_STREAM_ERROR if the source stream state was inconsistent + (such as zalloc being Z_NULL). msg is left unchanged in both source and + destination. +*/ + +ZEXTERN int ZEXPORT deflateReset OF((z_streamp strm)); +/* + This function is equivalent to deflateEnd followed by deflateInit, but + does not free and reallocate the internal compression state. The stream + will leave the compression level and any other attributes that may have been + set unchanged. + + deflateReset returns Z_OK if success, or Z_STREAM_ERROR if the source + stream state was inconsistent (such as zalloc or state being Z_NULL). +*/ + +ZEXTERN int ZEXPORT deflateParams OF((z_streamp strm, + int level, + int strategy)); +/* + Dynamically update the compression level and compression strategy. The + interpretation of level and strategy is as in deflateInit2(). This can be + used to switch between compression and straight copy of the input data, or + to switch to a different kind of input data requiring a different strategy. + If the compression approach (which is a function of the level) or the + strategy is changed, and if any input has been consumed in a previous + deflate() call, then the input available so far is compressed with the old + level and strategy using deflate(strm, Z_BLOCK). There are three approaches + for the compression levels 0, 1..3, and 4..9 respectively. The new level + and strategy will take effect at the next call of deflate(). + + If a deflate(strm, Z_BLOCK) is performed by deflateParams(), and it does + not have enough output space to complete, then the parameter change will not + take effect. In this case, deflateParams() can be called again with the + same parameters and more output space to try again. + + In order to assure a change in the parameters on the first try, the + deflate stream should be flushed using deflate() with Z_BLOCK or other flush + request until strm.avail_out is not zero, before calling deflateParams(). + Then no more input data should be provided before the deflateParams() call. + If this is done, the old level and strategy will be applied to the data + compressed before deflateParams(), and the new level and strategy will be + applied to the the data compressed after deflateParams(). + + deflateParams returns Z_OK on success, Z_STREAM_ERROR if the source stream + state was inconsistent or if a parameter was invalid, or Z_BUF_ERROR if + there was not enough output space to complete the compression of the + available input data before a change in the strategy or approach. Note that + in the case of a Z_BUF_ERROR, the parameters are not changed. A return + value of Z_BUF_ERROR is not fatal, in which case deflateParams() can be + retried with more output space. +*/ + +ZEXTERN int ZEXPORT deflateTune OF((z_streamp strm, + int good_length, + int max_lazy, + int nice_length, + int max_chain)); +/* + Fine tune deflate's internal compression parameters. This should only be + used by someone who understands the algorithm used by zlib's deflate for + searching for the best matching string, and even then only by the most + fanatic optimizer trying to squeeze out the last compressed bit for their + specific input data. Read the deflate.c source code for the meaning of the + max_lazy, good_length, nice_length, and max_chain parameters. + + deflateTune() can be called after deflateInit() or deflateInit2(), and + returns Z_OK on success, or Z_STREAM_ERROR for an invalid deflate stream. + */ + +ZEXTERN uLong ZEXPORT deflateBound OF((z_streamp strm, + uLong sourceLen)); +/* + deflateBound() returns an upper bound on the compressed size after + deflation of sourceLen bytes. It must be called after deflateInit() or + deflateInit2(), and after deflateSetHeader(), if used. This would be used + to allocate an output buffer for deflation in a single pass, and so would be + called before deflate(). If that first deflate() call is provided the + sourceLen input bytes, an output buffer allocated to the size returned by + deflateBound(), and the flush value Z_FINISH, then deflate() is guaranteed + to return Z_STREAM_END. Note that it is possible for the compressed size to + be larger than the value returned by deflateBound() if flush options other + than Z_FINISH or Z_NO_FLUSH are used. +*/ + +ZEXTERN int ZEXPORT deflatePending OF((z_streamp strm, + unsigned *pending, + int *bits)); +/* + deflatePending() returns the number of bytes and bits of output that have + been generated, but not yet provided in the available output. The bytes not + provided would be due to the available output space having being consumed. + The number of bits of output not provided are between 0 and 7, where they + await more bits to join them in order to fill out a full byte. If pending + or bits are Z_NULL, then those values are not set. + + deflatePending returns Z_OK if success, or Z_STREAM_ERROR if the source + stream state was inconsistent. + */ + +ZEXTERN int ZEXPORT deflatePrime OF((z_streamp strm, + int bits, + int value)); +/* + deflatePrime() inserts bits in the deflate output stream. The intent + is that this function is used to start off the deflate output with the bits + leftover from a previous deflate stream when appending to it. As such, this + function can only be used for raw deflate, and must be used before the first + deflate() call after a deflateInit2() or deflateReset(). bits must be less + than or equal to 16, and that many of the least significant bits of value + will be inserted in the output. + + deflatePrime returns Z_OK if success, Z_BUF_ERROR if there was not enough + room in the internal buffer to insert the bits, or Z_STREAM_ERROR if the + source stream state was inconsistent. +*/ + +ZEXTERN int ZEXPORT deflateSetHeader OF((z_streamp strm, + gz_headerp head)); +/* + deflateSetHeader() provides gzip header information for when a gzip + stream is requested by deflateInit2(). deflateSetHeader() may be called + after deflateInit2() or deflateReset() and before the first call of + deflate(). The text, time, os, extra field, name, and comment information + in the provided gz_header structure are written to the gzip header (xflag is + ignored -- the extra flags are set according to the compression level). The + caller must assure that, if not Z_NULL, name and comment are terminated with + a zero byte, and that if extra is not Z_NULL, that extra_len bytes are + available there. If hcrc is true, a gzip header crc is included. Note that + the current versions of the command-line version of gzip (up through version + 1.3.x) do not support header crc's, and will report that it is a "multi-part + gzip file" and give up. + + If deflateSetHeader is not used, the default gzip header has text false, + the time set to zero, and os set to 255, with no extra, name, or comment + fields. The gzip header is returned to the default state by deflateReset(). + + deflateSetHeader returns Z_OK if success, or Z_STREAM_ERROR if the source + stream state was inconsistent. +*/ + +/* +ZEXTERN int ZEXPORT inflateInit2 OF((z_streamp strm, + int windowBits)); + + This is another version of inflateInit with an extra parameter. The + fields next_in, avail_in, zalloc, zfree and opaque must be initialized + before by the caller. + + The windowBits parameter is the base two logarithm of the maximum window + size (the size of the history buffer). It should be in the range 8..15 for + this version of the library. The default value is 15 if inflateInit is used + instead. windowBits must be greater than or equal to the windowBits value + provided to deflateInit2() while compressing, or it must be equal to 15 if + deflateInit2() was not used. If a compressed stream with a larger window + size is given as input, inflate() will return with the error code + Z_DATA_ERROR instead of trying to allocate a larger window. + + windowBits can also be zero to request that inflate use the window size in + the zlib header of the compressed stream. + + windowBits can also be -8..-15 for raw inflate. In this case, -windowBits + determines the window size. inflate() will then process raw deflate data, + not looking for a zlib or gzip header, not generating a check value, and not + looking for any check values for comparison at the end of the stream. This + is for use with other formats that use the deflate compressed data format + such as zip. Those formats provide their own check values. If a custom + format is developed using the raw deflate format for compressed data, it is + recommended that a check value such as an Adler-32 or a CRC-32 be applied to + the uncompressed data as is done in the zlib, gzip, and zip formats. For + most applications, the zlib format should be used as is. Note that comments + above on the use in deflateInit2() applies to the magnitude of windowBits. + + windowBits can also be greater than 15 for optional gzip decoding. Add + 32 to windowBits to enable zlib and gzip decoding with automatic header + detection, or add 16 to decode only the gzip format (the zlib format will + return a Z_DATA_ERROR). If a gzip stream is being decoded, strm->adler is a + CRC-32 instead of an Adler-32. Unlike the gunzip utility and gzread() (see + below), inflate() will not automatically decode concatenated gzip streams. + inflate() will return Z_STREAM_END at the end of the gzip stream. The state + would need to be reset to continue decoding a subsequent gzip stream. + + inflateInit2 returns Z_OK if success, Z_MEM_ERROR if there was not enough + memory, Z_VERSION_ERROR if the zlib library version is incompatible with the + version assumed by the caller, or Z_STREAM_ERROR if the parameters are + invalid, such as a null pointer to the structure. msg is set to null if + there is no error message. inflateInit2 does not perform any decompression + apart from possibly reading the zlib header if present: actual decompression + will be done by inflate(). (So next_in and avail_in may be modified, but + next_out and avail_out are unused and unchanged.) The current implementation + of inflateInit2() does not process any header information -- that is + deferred until inflate() is called. +*/ + +ZEXTERN int ZEXPORT inflateSetDictionary OF((z_streamp strm, + const Bytef *dictionary, + uInt dictLength)); +/* + Initializes the decompression dictionary from the given uncompressed byte + sequence. This function must be called immediately after a call of inflate, + if that call returned Z_NEED_DICT. The dictionary chosen by the compressor + can be determined from the Adler-32 value returned by that call of inflate. + The compressor and decompressor must use exactly the same dictionary (see + deflateSetDictionary). For raw inflate, this function can be called at any + time to set the dictionary. If the provided dictionary is smaller than the + window and there is already data in the window, then the provided dictionary + will amend what's there. The application must insure that the dictionary + that was used for compression is provided. + + inflateSetDictionary returns Z_OK if success, Z_STREAM_ERROR if a + parameter is invalid (e.g. dictionary being Z_NULL) or the stream state is + inconsistent, Z_DATA_ERROR if the given dictionary doesn't match the + expected one (incorrect Adler-32 value). inflateSetDictionary does not + perform any decompression: this will be done by subsequent calls of + inflate(). +*/ + +ZEXTERN int ZEXPORT inflateGetDictionary OF((z_streamp strm, + Bytef *dictionary, + uInt *dictLength)); +/* + Returns the sliding dictionary being maintained by inflate. dictLength is + set to the number of bytes in the dictionary, and that many bytes are copied + to dictionary. dictionary must have enough space, where 32768 bytes is + always enough. If inflateGetDictionary() is called with dictionary equal to + Z_NULL, then only the dictionary length is returned, and nothing is copied. + Similary, if dictLength is Z_NULL, then it is not set. + + inflateGetDictionary returns Z_OK on success, or Z_STREAM_ERROR if the + stream state is inconsistent. +*/ + +ZEXTERN int ZEXPORT inflateSync OF((z_streamp strm)); +/* + Skips invalid compressed data until a possible full flush point (see above + for the description of deflate with Z_FULL_FLUSH) can be found, or until all + available input is skipped. No output is provided. + + inflateSync searches for a 00 00 FF FF pattern in the compressed data. + All full flush points have this pattern, but not all occurrences of this + pattern are full flush points. + + inflateSync returns Z_OK if a possible full flush point has been found, + Z_BUF_ERROR if no more input was provided, Z_DATA_ERROR if no flush point + has been found, or Z_STREAM_ERROR if the stream structure was inconsistent. + In the success case, the application may save the current current value of + total_in which indicates where valid compressed data was found. In the + error case, the application may repeatedly call inflateSync, providing more + input each time, until success or end of the input data. +*/ + +ZEXTERN int ZEXPORT inflateCopy OF((z_streamp dest, + z_streamp source)); +/* + Sets the destination stream as a complete copy of the source stream. + + This function can be useful when randomly accessing a large stream. The + first pass through the stream can periodically record the inflate state, + allowing restarting inflate at those points when randomly accessing the + stream. + + inflateCopy returns Z_OK if success, Z_MEM_ERROR if there was not + enough memory, Z_STREAM_ERROR if the source stream state was inconsistent + (such as zalloc being Z_NULL). msg is left unchanged in both source and + destination. +*/ + +ZEXTERN int ZEXPORT inflateReset OF((z_streamp strm)); +/* + This function is equivalent to inflateEnd followed by inflateInit, + but does not free and reallocate the internal decompression state. The + stream will keep attributes that may have been set by inflateInit2. + + inflateReset returns Z_OK if success, or Z_STREAM_ERROR if the source + stream state was inconsistent (such as zalloc or state being Z_NULL). +*/ + +ZEXTERN int ZEXPORT inflateReset2 OF((z_streamp strm, + int windowBits)); +/* + This function is the same as inflateReset, but it also permits changing + the wrap and window size requests. The windowBits parameter is interpreted + the same as it is for inflateInit2. If the window size is changed, then the + memory allocated for the window is freed, and the window will be reallocated + by inflate() if needed. + + inflateReset2 returns Z_OK if success, or Z_STREAM_ERROR if the source + stream state was inconsistent (such as zalloc or state being Z_NULL), or if + the windowBits parameter is invalid. +*/ + +ZEXTERN int ZEXPORT inflatePrime OF((z_streamp strm, + int bits, + int value)); +/* + This function inserts bits in the inflate input stream. The intent is + that this function is used to start inflating at a bit position in the + middle of a byte. The provided bits will be used before any bytes are used + from next_in. This function should only be used with raw inflate, and + should be used before the first inflate() call after inflateInit2() or + inflateReset(). bits must be less than or equal to 16, and that many of the + least significant bits of value will be inserted in the input. + + If bits is negative, then the input stream bit buffer is emptied. Then + inflatePrime() can be called again to put bits in the buffer. This is used + to clear out bits leftover after feeding inflate a block description prior + to feeding inflate codes. + + inflatePrime returns Z_OK if success, or Z_STREAM_ERROR if the source + stream state was inconsistent. +*/ + +ZEXTERN long ZEXPORT inflateMark OF((z_streamp strm)); +/* + This function returns two values, one in the lower 16 bits of the return + value, and the other in the remaining upper bits, obtained by shifting the + return value down 16 bits. If the upper value is -1 and the lower value is + zero, then inflate() is currently decoding information outside of a block. + If the upper value is -1 and the lower value is non-zero, then inflate is in + the middle of a stored block, with the lower value equaling the number of + bytes from the input remaining to copy. If the upper value is not -1, then + it is the number of bits back from the current bit position in the input of + the code (literal or length/distance pair) currently being processed. In + that case the lower value is the number of bytes already emitted for that + code. + + A code is being processed if inflate is waiting for more input to complete + decoding of the code, or if it has completed decoding but is waiting for + more output space to write the literal or match data. + + inflateMark() is used to mark locations in the input data for random + access, which may be at bit positions, and to note those cases where the + output of a code may span boundaries of random access blocks. The current + location in the input stream can be determined from avail_in and data_type + as noted in the description for the Z_BLOCK flush parameter for inflate. + + inflateMark returns the value noted above, or -65536 if the provided + source stream state was inconsistent. +*/ + +ZEXTERN int ZEXPORT inflateGetHeader OF((z_streamp strm, + gz_headerp head)); +/* + inflateGetHeader() requests that gzip header information be stored in the + provided gz_header structure. inflateGetHeader() may be called after + inflateInit2() or inflateReset(), and before the first call of inflate(). + As inflate() processes the gzip stream, head->done is zero until the header + is completed, at which time head->done is set to one. If a zlib stream is + being decoded, then head->done is set to -1 to indicate that there will be + no gzip header information forthcoming. Note that Z_BLOCK or Z_TREES can be + used to force inflate() to return immediately after header processing is + complete and before any actual data is decompressed. + + The text, time, xflags, and os fields are filled in with the gzip header + contents. hcrc is set to true if there is a header CRC. (The header CRC + was valid if done is set to one.) If extra is not Z_NULL, then extra_max + contains the maximum number of bytes to write to extra. Once done is true, + extra_len contains the actual extra field length, and extra contains the + extra field, or that field truncated if extra_max is less than extra_len. + If name is not Z_NULL, then up to name_max characters are written there, + terminated with a zero unless the length is greater than name_max. If + comment is not Z_NULL, then up to comm_max characters are written there, + terminated with a zero unless the length is greater than comm_max. When any + of extra, name, or comment are not Z_NULL and the respective field is not + present in the header, then that field is set to Z_NULL to signal its + absence. This allows the use of deflateSetHeader() with the returned + structure to duplicate the header. However if those fields are set to + allocated memory, then the application will need to save those pointers + elsewhere so that they can be eventually freed. + + If inflateGetHeader is not used, then the header information is simply + discarded. The header is always checked for validity, including the header + CRC if present. inflateReset() will reset the process to discard the header + information. The application would need to call inflateGetHeader() again to + retrieve the header from the next gzip stream. + + inflateGetHeader returns Z_OK if success, or Z_STREAM_ERROR if the source + stream state was inconsistent. +*/ + +/* +ZEXTERN int ZEXPORT inflateBackInit OF((z_streamp strm, int windowBits, + unsigned char FAR *window)); + + Initialize the internal stream state for decompression using inflateBack() + calls. The fields zalloc, zfree and opaque in strm must be initialized + before the call. If zalloc and zfree are Z_NULL, then the default library- + derived memory allocation routines are used. windowBits is the base two + logarithm of the window size, in the range 8..15. window is a caller + supplied buffer of that size. Except for special applications where it is + assured that deflate was used with small window sizes, windowBits must be 15 + and a 32K byte window must be supplied to be able to decompress general + deflate streams. + + See inflateBack() for the usage of these routines. + + inflateBackInit will return Z_OK on success, Z_STREAM_ERROR if any of + the parameters are invalid, Z_MEM_ERROR if the internal state could not be + allocated, or Z_VERSION_ERROR if the version of the library does not match + the version of the header file. +*/ + +typedef unsigned (*in_func) OF((void FAR *, + z_const unsigned char FAR * FAR *)); +typedef int (*out_func) OF((void FAR *, unsigned char FAR *, unsigned)); + +ZEXTERN int ZEXPORT inflateBack OF((z_streamp strm, + in_func in, void FAR *in_desc, + out_func out, void FAR *out_desc)); +/* + inflateBack() does a raw inflate with a single call using a call-back + interface for input and output. This is potentially more efficient than + inflate() for file i/o applications, in that it avoids copying between the + output and the sliding window by simply making the window itself the output + buffer. inflate() can be faster on modern CPUs when used with large + buffers. inflateBack() trusts the application to not change the output + buffer passed by the output function, at least until inflateBack() returns. + + inflateBackInit() must be called first to allocate the internal state + and to initialize the state with the user-provided window buffer. + inflateBack() may then be used multiple times to inflate a complete, raw + deflate stream with each call. inflateBackEnd() is then called to free the + allocated state. + + A raw deflate stream is one with no zlib or gzip header or trailer. + This routine would normally be used in a utility that reads zip or gzip + files and writes out uncompressed files. The utility would decode the + header and process the trailer on its own, hence this routine expects only + the raw deflate stream to decompress. This is different from the default + behavior of inflate(), which expects a zlib header and trailer around the + deflate stream. + + inflateBack() uses two subroutines supplied by the caller that are then + called by inflateBack() for input and output. inflateBack() calls those + routines until it reads a complete deflate stream and writes out all of the + uncompressed data, or until it encounters an error. The function's + parameters and return types are defined above in the in_func and out_func + typedefs. inflateBack() will call in(in_desc, &buf) which should return the + number of bytes of provided input, and a pointer to that input in buf. If + there is no input available, in() must return zero -- buf is ignored in that + case -- and inflateBack() will return a buffer error. inflateBack() will + call out(out_desc, buf, len) to write the uncompressed data buf[0..len-1]. + out() should return zero on success, or non-zero on failure. If out() + returns non-zero, inflateBack() will return with an error. Neither in() nor + out() are permitted to change the contents of the window provided to + inflateBackInit(), which is also the buffer that out() uses to write from. + The length written by out() will be at most the window size. Any non-zero + amount of input may be provided by in(). + + For convenience, inflateBack() can be provided input on the first call by + setting strm->next_in and strm->avail_in. If that input is exhausted, then + in() will be called. Therefore strm->next_in must be initialized before + calling inflateBack(). If strm->next_in is Z_NULL, then in() will be called + immediately for input. If strm->next_in is not Z_NULL, then strm->avail_in + must also be initialized, and then if strm->avail_in is not zero, input will + initially be taken from strm->next_in[0 .. strm->avail_in - 1]. + + The in_desc and out_desc parameters of inflateBack() is passed as the + first parameter of in() and out() respectively when they are called. These + descriptors can be optionally used to pass any information that the caller- + supplied in() and out() functions need to do their job. + + On return, inflateBack() will set strm->next_in and strm->avail_in to + pass back any unused input that was provided by the last in() call. The + return values of inflateBack() can be Z_STREAM_END on success, Z_BUF_ERROR + if in() or out() returned an error, Z_DATA_ERROR if there was a format error + in the deflate stream (in which case strm->msg is set to indicate the nature + of the error), or Z_STREAM_ERROR if the stream was not properly initialized. + In the case of Z_BUF_ERROR, an input or output error can be distinguished + using strm->next_in which will be Z_NULL only if in() returned an error. If + strm->next_in is not Z_NULL, then the Z_BUF_ERROR was due to out() returning + non-zero. (in() will always be called before out(), so strm->next_in is + assured to be defined if out() returns non-zero.) Note that inflateBack() + cannot return Z_OK. +*/ + +ZEXTERN int ZEXPORT inflateBackEnd OF((z_streamp strm)); +/* + All memory allocated by inflateBackInit() is freed. + + inflateBackEnd() returns Z_OK on success, or Z_STREAM_ERROR if the stream + state was inconsistent. +*/ + +ZEXTERN uLong ZEXPORT zlibCompileFlags OF((void)); +/* Return flags indicating compile-time options. + + Type sizes, two bits each, 00 = 16 bits, 01 = 32, 10 = 64, 11 = other: + 1.0: size of uInt + 3.2: size of uLong + 5.4: size of voidpf (pointer) + 7.6: size of z_off_t + + Compiler, assembler, and debug options: + 8: ZLIB_DEBUG + 9: ASMV or ASMINF -- use ASM code + 10: ZLIB_WINAPI -- exported functions use the WINAPI calling convention + 11: 0 (reserved) + + One-time table building (smaller code, but not thread-safe if true): + 12: BUILDFIXED -- build static block decoding tables when needed + 13: DYNAMIC_CRC_TABLE -- build CRC calculation tables when needed + 14,15: 0 (reserved) + + Library content (indicates missing functionality): + 16: NO_GZCOMPRESS -- gz* functions cannot compress (to avoid linking + deflate code when not needed) + 17: NO_GZIP -- deflate can't write gzip streams, and inflate can't detect + and decode gzip streams (to avoid linking crc code) + 18-19: 0 (reserved) + + Operation variations (changes in library functionality): + 20: PKZIP_BUG_WORKAROUND -- slightly more permissive inflate + 21: FASTEST -- deflate algorithm with only one, lowest compression level + 22,23: 0 (reserved) + + The sprintf variant used by gzprintf (zero is best): + 24: 0 = vs*, 1 = s* -- 1 means limited to 20 arguments after the format + 25: 0 = *nprintf, 1 = *printf -- 1 means gzprintf() not secure! + 26: 0 = returns value, 1 = void -- 1 means inferred string length returned + + Remainder: + 27-31: 0 (reserved) + */ + +#ifndef Z_SOLO + + /* utility functions */ + +/* + The following utility functions are implemented on top of the basic + stream-oriented functions. To simplify the interface, some default options + are assumed (compression level and memory usage, standard memory allocation + functions). The source code of these utility functions can be modified if + you need special options. +*/ + +ZEXTERN int ZEXPORT compress OF((Bytef *dest, uLongf *destLen, + const Bytef *source, uLong sourceLen)); +/* + Compresses the source buffer into the destination buffer. sourceLen is + the byte length of the source buffer. Upon entry, destLen is the total size + of the destination buffer, which must be at least the value returned by + compressBound(sourceLen). Upon exit, destLen is the actual size of the + compressed data. compress() is equivalent to compress2() with a level + parameter of Z_DEFAULT_COMPRESSION. + + compress returns Z_OK if success, Z_MEM_ERROR if there was not + enough memory, Z_BUF_ERROR if there was not enough room in the output + buffer. +*/ + +ZEXTERN int ZEXPORT compress2 OF((Bytef *dest, uLongf *destLen, + const Bytef *source, uLong sourceLen, + int level)); +/* + Compresses the source buffer into the destination buffer. The level + parameter has the same meaning as in deflateInit. sourceLen is the byte + length of the source buffer. Upon entry, destLen is the total size of the + destination buffer, which must be at least the value returned by + compressBound(sourceLen). Upon exit, destLen is the actual size of the + compressed data. + + compress2 returns Z_OK if success, Z_MEM_ERROR if there was not enough + memory, Z_BUF_ERROR if there was not enough room in the output buffer, + Z_STREAM_ERROR if the level parameter is invalid. +*/ + +ZEXTERN uLong ZEXPORT compressBound OF((uLong sourceLen)); +/* + compressBound() returns an upper bound on the compressed size after + compress() or compress2() on sourceLen bytes. It would be used before a + compress() or compress2() call to allocate the destination buffer. +*/ + +ZEXTERN int ZEXPORT uncompress OF((Bytef *dest, uLongf *destLen, + const Bytef *source, uLong sourceLen)); +/* + Decompresses the source buffer into the destination buffer. sourceLen is + the byte length of the source buffer. Upon entry, destLen is the total size + of the destination buffer, which must be large enough to hold the entire + uncompressed data. (The size of the uncompressed data must have been saved + previously by the compressor and transmitted to the decompressor by some + mechanism outside the scope of this compression library.) Upon exit, destLen + is the actual size of the uncompressed data. + + uncompress returns Z_OK if success, Z_MEM_ERROR if there was not + enough memory, Z_BUF_ERROR if there was not enough room in the output + buffer, or Z_DATA_ERROR if the input data was corrupted or incomplete. In + the case where there is not enough room, uncompress() will fill the output + buffer with the uncompressed data up to that point. +*/ + +ZEXTERN int ZEXPORT uncompress2 OF((Bytef *dest, uLongf *destLen, + const Bytef *source, uLong *sourceLen)); +/* + Same as uncompress, except that sourceLen is a pointer, where the + length of the source is *sourceLen. On return, *sourceLen is the number of + source bytes consumed. +*/ + + /* gzip file access functions */ + +/* + This library supports reading and writing files in gzip (.gz) format with + an interface similar to that of stdio, using the functions that start with + "gz". The gzip format is different from the zlib format. gzip is a gzip + wrapper, documented in RFC 1952, wrapped around a deflate stream. +*/ + +typedef struct gzFile_s *gzFile; /* semi-opaque gzip file descriptor */ + +/* +ZEXTERN gzFile ZEXPORT gzopen OF((const char *path, const char *mode)); + + Opens a gzip (.gz) file for reading or writing. The mode parameter is as + in fopen ("rb" or "wb") but can also include a compression level ("wb9") or + a strategy: 'f' for filtered data as in "wb6f", 'h' for Huffman-only + compression as in "wb1h", 'R' for run-length encoding as in "wb1R", or 'F' + for fixed code compression as in "wb9F". (See the description of + deflateInit2 for more information about the strategy parameter.) 'T' will + request transparent writing or appending with no compression and not using + the gzip format. + + "a" can be used instead of "w" to request that the gzip stream that will + be written be appended to the file. "+" will result in an error, since + reading and writing to the same gzip file is not supported. The addition of + "x" when writing will create the file exclusively, which fails if the file + already exists. On systems that support it, the addition of "e" when + reading or writing will set the flag to close the file on an execve() call. + + These functions, as well as gzip, will read and decode a sequence of gzip + streams in a file. The append function of gzopen() can be used to create + such a file. (Also see gzflush() for another way to do this.) When + appending, gzopen does not test whether the file begins with a gzip stream, + nor does it look for the end of the gzip streams to begin appending. gzopen + will simply append a gzip stream to the existing file. + + gzopen can be used to read a file which is not in gzip format; in this + case gzread will directly read from the file without decompression. When + reading, this will be detected automatically by looking for the magic two- + byte gzip header. + + gzopen returns NULL if the file could not be opened, if there was + insufficient memory to allocate the gzFile state, or if an invalid mode was + specified (an 'r', 'w', or 'a' was not provided, or '+' was provided). + errno can be checked to determine if the reason gzopen failed was that the + file could not be opened. +*/ + +ZEXTERN gzFile ZEXPORT gzdopen OF((int fd, const char *mode)); +/* + gzdopen associates a gzFile with the file descriptor fd. File descriptors + are obtained from calls like open, dup, creat, pipe or fileno (if the file + has been previously opened with fopen). The mode parameter is as in gzopen. + + The next call of gzclose on the returned gzFile will also close the file + descriptor fd, just like fclose(fdopen(fd, mode)) closes the file descriptor + fd. If you want to keep fd open, use fd = dup(fd_keep); gz = gzdopen(fd, + mode);. The duplicated descriptor should be saved to avoid a leak, since + gzdopen does not close fd if it fails. If you are using fileno() to get the + file descriptor from a FILE *, then you will have to use dup() to avoid + double-close()ing the file descriptor. Both gzclose() and fclose() will + close the associated file descriptor, so they need to have different file + descriptors. + + gzdopen returns NULL if there was insufficient memory to allocate the + gzFile state, if an invalid mode was specified (an 'r', 'w', or 'a' was not + provided, or '+' was provided), or if fd is -1. The file descriptor is not + used until the next gz* read, write, seek, or close operation, so gzdopen + will not detect if fd is invalid (unless fd is -1). +*/ + +ZEXTERN int ZEXPORT gzbuffer OF((gzFile file, unsigned size)); +/* + Set the internal buffer size used by this library's functions. The + default buffer size is 8192 bytes. This function must be called after + gzopen() or gzdopen(), and before any other calls that read or write the + file. The buffer memory allocation is always deferred to the first read or + write. Three times that size in buffer space is allocated. A larger buffer + size of, for example, 64K or 128K bytes will noticeably increase the speed + of decompression (reading). + + The new buffer size also affects the maximum length for gzprintf(). + + gzbuffer() returns 0 on success, or -1 on failure, such as being called + too late. +*/ + +ZEXTERN int ZEXPORT gzsetparams OF((gzFile file, int level, int strategy)); +/* + Dynamically update the compression level or strategy. See the description + of deflateInit2 for the meaning of these parameters. Previously provided + data is flushed before the parameter change. + + gzsetparams returns Z_OK if success, Z_STREAM_ERROR if the file was not + opened for writing, Z_ERRNO if there is an error writing the flushed data, + or Z_MEM_ERROR if there is a memory allocation error. +*/ + +ZEXTERN int ZEXPORT gzread OF((gzFile file, voidp buf, unsigned len)); +/* + Reads the given number of uncompressed bytes from the compressed file. If + the input file is not in gzip format, gzread copies the given number of + bytes into the buffer directly from the file. + + After reaching the end of a gzip stream in the input, gzread will continue + to read, looking for another gzip stream. Any number of gzip streams may be + concatenated in the input file, and will all be decompressed by gzread(). + If something other than a gzip stream is encountered after a gzip stream, + that remaining trailing garbage is ignored (and no error is returned). + + gzread can be used to read a gzip file that is being concurrently written. + Upon reaching the end of the input, gzread will return with the available + data. If the error code returned by gzerror is Z_OK or Z_BUF_ERROR, then + gzclearerr can be used to clear the end of file indicator in order to permit + gzread to be tried again. Z_OK indicates that a gzip stream was completed + on the last gzread. Z_BUF_ERROR indicates that the input file ended in the + middle of a gzip stream. Note that gzread does not return -1 in the event + of an incomplete gzip stream. This error is deferred until gzclose(), which + will return Z_BUF_ERROR if the last gzread ended in the middle of a gzip + stream. Alternatively, gzerror can be used before gzclose to detect this + case. + + gzread returns the number of uncompressed bytes actually read, less than + len for end of file, or -1 for error. If len is too large to fit in an int, + then nothing is read, -1 is returned, and the error state is set to + Z_STREAM_ERROR. +*/ + +ZEXTERN z_size_t ZEXPORT gzfread OF((voidp buf, z_size_t size, z_size_t nitems, + gzFile file)); +/* + Read up to nitems items of size size from file to buf, otherwise operating + as gzread() does. This duplicates the interface of stdio's fread(), with + size_t request and return types. If the library defines size_t, then + z_size_t is identical to size_t. If not, then z_size_t is an unsigned + integer type that can contain a pointer. + + gzfread() returns the number of full items read of size size, or zero if + the end of the file was reached and a full item could not be read, or if + there was an error. gzerror() must be consulted if zero is returned in + order to determine if there was an error. If the multiplication of size and + nitems overflows, i.e. the product does not fit in a z_size_t, then nothing + is read, zero is returned, and the error state is set to Z_STREAM_ERROR. + + In the event that the end of file is reached and only a partial item is + available at the end, i.e. the remaining uncompressed data length is not a + multiple of size, then the final partial item is nevetheless read into buf + and the end-of-file flag is set. The length of the partial item read is not + provided, but could be inferred from the result of gztell(). This behavior + is the same as the behavior of fread() implementations in common libraries, + but it prevents the direct use of gzfread() to read a concurrently written + file, reseting and retrying on end-of-file, when size is not 1. +*/ + +ZEXTERN int ZEXPORT gzwrite OF((gzFile file, + voidpc buf, unsigned len)); +/* + Writes the given number of uncompressed bytes into the compressed file. + gzwrite returns the number of uncompressed bytes written or 0 in case of + error. +*/ + +ZEXTERN z_size_t ZEXPORT gzfwrite OF((voidpc buf, z_size_t size, + z_size_t nitems, gzFile file)); +/* + gzfwrite() writes nitems items of size size from buf to file, duplicating + the interface of stdio's fwrite(), with size_t request and return types. If + the library defines size_t, then z_size_t is identical to size_t. If not, + then z_size_t is an unsigned integer type that can contain a pointer. + + gzfwrite() returns the number of full items written of size size, or zero + if there was an error. If the multiplication of size and nitems overflows, + i.e. the product does not fit in a z_size_t, then nothing is written, zero + is returned, and the error state is set to Z_STREAM_ERROR. +*/ + +ZEXTERN int ZEXPORTVA gzprintf Z_ARG((gzFile file, const char *format, ...)); +/* + Converts, formats, and writes the arguments to the compressed file under + control of the format string, as in fprintf. gzprintf returns the number of + uncompressed bytes actually written, or a negative zlib error code in case + of error. The number of uncompressed bytes written is limited to 8191, or + one less than the buffer size given to gzbuffer(). The caller should assure + that this limit is not exceeded. If it is exceeded, then gzprintf() will + return an error (0) with nothing written. In this case, there may also be a + buffer overflow with unpredictable consequences, which is possible only if + zlib was compiled with the insecure functions sprintf() or vsprintf() + because the secure snprintf() or vsnprintf() functions were not available. + This can be determined using zlibCompileFlags(). +*/ + +ZEXTERN int ZEXPORT gzputs OF((gzFile file, const char *s)); +/* + Writes the given null-terminated string to the compressed file, excluding + the terminating null character. + + gzputs returns the number of characters written, or -1 in case of error. +*/ + +ZEXTERN char * ZEXPORT gzgets OF((gzFile file, char *buf, int len)); +/* + Reads bytes from the compressed file until len-1 characters are read, or a + newline character is read and transferred to buf, or an end-of-file + condition is encountered. If any characters are read or if len == 1, the + string is terminated with a null character. If no characters are read due + to an end-of-file or len < 1, then the buffer is left untouched. + + gzgets returns buf which is a null-terminated string, or it returns NULL + for end-of-file or in case of error. If there was an error, the contents at + buf are indeterminate. +*/ + +ZEXTERN int ZEXPORT gzputc OF((gzFile file, int c)); +/* + Writes c, converted to an unsigned char, into the compressed file. gzputc + returns the value that was written, or -1 in case of error. +*/ + +ZEXTERN int ZEXPORT gzgetc OF((gzFile file)); +/* + Reads one byte from the compressed file. gzgetc returns this byte or -1 + in case of end of file or error. This is implemented as a macro for speed. + As such, it does not do all of the checking the other functions do. I.e. + it does not check to see if file is NULL, nor whether the structure file + points to has been clobbered or not. +*/ + +ZEXTERN int ZEXPORT gzungetc OF((int c, gzFile file)); +/* + Push one character back onto the stream to be read as the first character + on the next read. At least one character of push-back is allowed. + gzungetc() returns the character pushed, or -1 on failure. gzungetc() will + fail if c is -1, and may fail if a character has been pushed but not read + yet. If gzungetc is used immediately after gzopen or gzdopen, at least the + output buffer size of pushed characters is allowed. (See gzbuffer above.) + The pushed character will be discarded if the stream is repositioned with + gzseek() or gzrewind(). +*/ + +ZEXTERN int ZEXPORT gzflush OF((gzFile file, int flush)); +/* + Flushes all pending output into the compressed file. The parameter flush + is as in the deflate() function. The return value is the zlib error number + (see function gzerror below). gzflush is only permitted when writing. + + If the flush parameter is Z_FINISH, the remaining data is written and the + gzip stream is completed in the output. If gzwrite() is called again, a new + gzip stream will be started in the output. gzread() is able to read such + concatenated gzip streams. + + gzflush should be called only when strictly necessary because it will + degrade compression if called too often. +*/ + +/* +ZEXTERN z_off_t ZEXPORT gzseek OF((gzFile file, + z_off_t offset, int whence)); + + Sets the starting position for the next gzread or gzwrite on the given + compressed file. The offset represents a number of bytes in the + uncompressed data stream. The whence parameter is defined as in lseek(2); + the value SEEK_END is not supported. + + If the file is opened for reading, this function is emulated but can be + extremely slow. If the file is opened for writing, only forward seeks are + supported; gzseek then compresses a sequence of zeroes up to the new + starting position. + + gzseek returns the resulting offset location as measured in bytes from + the beginning of the uncompressed stream, or -1 in case of error, in + particular if the file is opened for writing and the new starting position + would be before the current position. +*/ + +ZEXTERN int ZEXPORT gzrewind OF((gzFile file)); +/* + Rewinds the given file. This function is supported only for reading. + + gzrewind(file) is equivalent to (int)gzseek(file, 0L, SEEK_SET) +*/ + +/* +ZEXTERN z_off_t ZEXPORT gztell OF((gzFile file)); + + Returns the starting position for the next gzread or gzwrite on the given + compressed file. This position represents a number of bytes in the + uncompressed data stream, and is zero when starting, even if appending or + reading a gzip stream from the middle of a file using gzdopen(). + + gztell(file) is equivalent to gzseek(file, 0L, SEEK_CUR) +*/ + +/* +ZEXTERN z_off_t ZEXPORT gzoffset OF((gzFile file)); + + Returns the current offset in the file being read or written. This offset + includes the count of bytes that precede the gzip stream, for example when + appending or when using gzdopen() for reading. When reading, the offset + does not include as yet unused buffered input. This information can be used + for a progress indicator. On error, gzoffset() returns -1. +*/ + +ZEXTERN int ZEXPORT gzeof OF((gzFile file)); +/* + Returns true (1) if the end-of-file indicator has been set while reading, + false (0) otherwise. Note that the end-of-file indicator is set only if the + read tried to go past the end of the input, but came up short. Therefore, + just like feof(), gzeof() may return false even if there is no more data to + read, in the event that the last read request was for the exact number of + bytes remaining in the input file. This will happen if the input file size + is an exact multiple of the buffer size. + + If gzeof() returns true, then the read functions will return no more data, + unless the end-of-file indicator is reset by gzclearerr() and the input file + has grown since the previous end of file was detected. +*/ + +ZEXTERN int ZEXPORT gzdirect OF((gzFile file)); +/* + Returns true (1) if file is being copied directly while reading, or false + (0) if file is a gzip stream being decompressed. + + If the input file is empty, gzdirect() will return true, since the input + does not contain a gzip stream. + + If gzdirect() is used immediately after gzopen() or gzdopen() it will + cause buffers to be allocated to allow reading the file to determine if it + is a gzip file. Therefore if gzbuffer() is used, it should be called before + gzdirect(). + + When writing, gzdirect() returns true (1) if transparent writing was + requested ("wT" for the gzopen() mode), or false (0) otherwise. (Note: + gzdirect() is not needed when writing. Transparent writing must be + explicitly requested, so the application already knows the answer. When + linking statically, using gzdirect() will include all of the zlib code for + gzip file reading and decompression, which may not be desired.) +*/ + +ZEXTERN int ZEXPORT gzclose OF((gzFile file)); +/* + Flushes all pending output if necessary, closes the compressed file and + deallocates the (de)compression state. Note that once file is closed, you + cannot call gzerror with file, since its structures have been deallocated. + gzclose must not be called more than once on the same file, just as free + must not be called more than once on the same allocation. + + gzclose will return Z_STREAM_ERROR if file is not valid, Z_ERRNO on a + file operation error, Z_MEM_ERROR if out of memory, Z_BUF_ERROR if the + last read ended in the middle of a gzip stream, or Z_OK on success. +*/ + +ZEXTERN int ZEXPORT gzclose_r OF((gzFile file)); +ZEXTERN int ZEXPORT gzclose_w OF((gzFile file)); +/* + Same as gzclose(), but gzclose_r() is only for use when reading, and + gzclose_w() is only for use when writing or appending. The advantage to + using these instead of gzclose() is that they avoid linking in zlib + compression or decompression code that is not used when only reading or only + writing respectively. If gzclose() is used, then both compression and + decompression code will be included the application when linking to a static + zlib library. +*/ + +ZEXTERN const char * ZEXPORT gzerror OF((gzFile file, int *errnum)); +/* + Returns the error message for the last error which occurred on the given + compressed file. errnum is set to zlib error number. If an error occurred + in the file system and not in the compression library, errnum is set to + Z_ERRNO and the application may consult errno to get the exact error code. + + The application must not modify the returned string. Future calls to + this function may invalidate the previously returned string. If file is + closed, then the string previously returned by gzerror will no longer be + available. + + gzerror() should be used to distinguish errors from end-of-file for those + functions above that do not distinguish those cases in their return values. +*/ + +ZEXTERN void ZEXPORT gzclearerr OF((gzFile file)); +/* + Clears the error and end-of-file flags for file. This is analogous to the + clearerr() function in stdio. This is useful for continuing to read a gzip + file that is being written concurrently. +*/ + +#endif /* !Z_SOLO */ + + /* checksum functions */ + +/* + These functions are not related to compression but are exported + anyway because they might be useful in applications using the compression + library. +*/ + +ZEXTERN uLong ZEXPORT adler32 OF((uLong adler, const Bytef *buf, uInt len)); +/* + Update a running Adler-32 checksum with the bytes buf[0..len-1] and + return the updated checksum. If buf is Z_NULL, this function returns the + required initial value for the checksum. + + An Adler-32 checksum is almost as reliable as a CRC-32 but can be computed + much faster. + + Usage example: + + uLong adler = adler32(0L, Z_NULL, 0); + + while (read_buffer(buffer, length) != EOF) { + adler = adler32(adler, buffer, length); + } + if (adler != original_adler) error(); +*/ + +ZEXTERN uLong ZEXPORT adler32_z OF((uLong adler, const Bytef *buf, + z_size_t len)); +/* + Same as adler32(), but with a size_t length. +*/ + +/* +ZEXTERN uLong ZEXPORT adler32_combine OF((uLong adler1, uLong adler2, + z_off_t len2)); + + Combine two Adler-32 checksums into one. For two sequences of bytes, seq1 + and seq2 with lengths len1 and len2, Adler-32 checksums were calculated for + each, adler1 and adler2. adler32_combine() returns the Adler-32 checksum of + seq1 and seq2 concatenated, requiring only adler1, adler2, and len2. Note + that the z_off_t type (like off_t) is a signed integer. If len2 is + negative, the result has no meaning or utility. +*/ + +ZEXTERN uLong ZEXPORT crc32 OF((uLong crc, const Bytef *buf, uInt len)); +/* + Update a running CRC-32 with the bytes buf[0..len-1] and return the + updated CRC-32. If buf is Z_NULL, this function returns the required + initial value for the crc. Pre- and post-conditioning (one's complement) is + performed within this function so it shouldn't be done by the application. + + Usage example: + + uLong crc = crc32(0L, Z_NULL, 0); + + while (read_buffer(buffer, length) != EOF) { + crc = crc32(crc, buffer, length); + } + if (crc != original_crc) error(); +*/ + +ZEXTERN uLong ZEXPORT crc32_z OF((uLong adler, const Bytef *buf, + z_size_t len)); +/* + Same as crc32(), but with a size_t length. +*/ + +/* +ZEXTERN uLong ZEXPORT crc32_combine OF((uLong crc1, uLong crc2, z_off_t len2)); + + Combine two CRC-32 check values into one. For two sequences of bytes, + seq1 and seq2 with lengths len1 and len2, CRC-32 check values were + calculated for each, crc1 and crc2. crc32_combine() returns the CRC-32 + check value of seq1 and seq2 concatenated, requiring only crc1, crc2, and + len2. +*/ + + + /* various hacks, don't look :) */ + +/* deflateInit and inflateInit are macros to allow checking the zlib version + * and the compiler's view of z_stream: + */ +ZEXTERN int ZEXPORT deflateInit_ OF((z_streamp strm, int level, + const char *version, int stream_size)); +ZEXTERN int ZEXPORT inflateInit_ OF((z_streamp strm, + const char *version, int stream_size)); +ZEXTERN int ZEXPORT deflateInit2_ OF((z_streamp strm, int level, int method, + int windowBits, int memLevel, + int strategy, const char *version, + int stream_size)); +ZEXTERN int ZEXPORT inflateInit2_ OF((z_streamp strm, int windowBits, + const char *version, int stream_size)); +ZEXTERN int ZEXPORT inflateBackInit_ OF((z_streamp strm, int windowBits, + unsigned char FAR *window, + const char *version, + int stream_size)); +#ifdef Z_PREFIX_SET +# define z_deflateInit(strm, level) \ + deflateInit_((strm), (level), ZLIB_VERSION, (int)sizeof(z_stream)) +# define z_inflateInit(strm) \ + inflateInit_((strm), ZLIB_VERSION, (int)sizeof(z_stream)) +# define z_deflateInit2(strm, level, method, windowBits, memLevel, strategy) \ + deflateInit2_((strm),(level),(method),(windowBits),(memLevel),\ + (strategy), ZLIB_VERSION, (int)sizeof(z_stream)) +# define z_inflateInit2(strm, windowBits) \ + inflateInit2_((strm), (windowBits), ZLIB_VERSION, \ + (int)sizeof(z_stream)) +# define z_inflateBackInit(strm, windowBits, window) \ + inflateBackInit_((strm), (windowBits), (window), \ + ZLIB_VERSION, (int)sizeof(z_stream)) +#else +# define deflateInit(strm, level) \ + deflateInit_((strm), (level), ZLIB_VERSION, (int)sizeof(z_stream)) +# define inflateInit(strm) \ + inflateInit_((strm), ZLIB_VERSION, (int)sizeof(z_stream)) +# define deflateInit2(strm, level, method, windowBits, memLevel, strategy) \ + deflateInit2_((strm),(level),(method),(windowBits),(memLevel),\ + (strategy), ZLIB_VERSION, (int)sizeof(z_stream)) +# define inflateInit2(strm, windowBits) \ + inflateInit2_((strm), (windowBits), ZLIB_VERSION, \ + (int)sizeof(z_stream)) +# define inflateBackInit(strm, windowBits, window) \ + inflateBackInit_((strm), (windowBits), (window), \ + ZLIB_VERSION, (int)sizeof(z_stream)) +#endif + +#ifndef Z_SOLO + +/* gzgetc() macro and its supporting function and exposed data structure. Note + * that the real internal state is much larger than the exposed structure. + * This abbreviated structure exposes just enough for the gzgetc() macro. The + * user should not mess with these exposed elements, since their names or + * behavior could change in the future, perhaps even capriciously. They can + * only be used by the gzgetc() macro. You have been warned. + */ +struct gzFile_s { + unsigned have; + unsigned char *next; + z_off64_t pos; +}; +ZEXTERN int ZEXPORT gzgetc_ OF((gzFile file)); /* backward compatibility */ +#ifdef Z_PREFIX_SET +# undef z_gzgetc +# define z_gzgetc(g) \ + ((g)->have ? ((g)->have--, (g)->pos++, *((g)->next)++) : (gzgetc)(g)) +#else +# define gzgetc(g) \ + ((g)->have ? ((g)->have--, (g)->pos++, *((g)->next)++) : (gzgetc)(g)) +#endif + +/* provide 64-bit offset functions if _LARGEFILE64_SOURCE defined, and/or + * change the regular functions to 64 bits if _FILE_OFFSET_BITS is 64 (if + * both are true, the application gets the *64 functions, and the regular + * functions are changed to 64 bits) -- in case these are set on systems + * without large file support, _LFS64_LARGEFILE must also be true + */ +#ifdef Z_LARGE64 + ZEXTERN gzFile ZEXPORT gzopen64 OF((const char *, const char *)); + ZEXTERN z_off64_t ZEXPORT gzseek64 OF((gzFile, z_off64_t, int)); + ZEXTERN z_off64_t ZEXPORT gztell64 OF((gzFile)); + ZEXTERN z_off64_t ZEXPORT gzoffset64 OF((gzFile)); + ZEXTERN uLong ZEXPORT adler32_combine64 OF((uLong, uLong, z_off64_t)); + ZEXTERN uLong ZEXPORT crc32_combine64 OF((uLong, uLong, z_off64_t)); +#endif + +#if !defined(ZLIB_INTERNAL) && defined(Z_WANT64) +# ifdef Z_PREFIX_SET +# define z_gzopen z_gzopen64 +# define z_gzseek z_gzseek64 +# define z_gztell z_gztell64 +# define z_gzoffset z_gzoffset64 +# define z_adler32_combine z_adler32_combine64 +# define z_crc32_combine z_crc32_combine64 +# else +# define gzopen gzopen64 +# define gzseek gzseek64 +# define gztell gztell64 +# define gzoffset gzoffset64 +# define adler32_combine adler32_combine64 +# define crc32_combine crc32_combine64 +# endif +# ifndef Z_LARGE64 + ZEXTERN gzFile ZEXPORT gzopen64 OF((const char *, const char *)); + ZEXTERN z_off_t ZEXPORT gzseek64 OF((gzFile, z_off_t, int)); + ZEXTERN z_off_t ZEXPORT gztell64 OF((gzFile)); + ZEXTERN z_off_t ZEXPORT gzoffset64 OF((gzFile)); + ZEXTERN uLong ZEXPORT adler32_combine64 OF((uLong, uLong, z_off_t)); + ZEXTERN uLong ZEXPORT crc32_combine64 OF((uLong, uLong, z_off_t)); +# endif +#else + ZEXTERN gzFile ZEXPORT gzopen OF((const char *, const char *)); + ZEXTERN z_off_t ZEXPORT gzseek OF((gzFile, z_off_t, int)); + ZEXTERN z_off_t ZEXPORT gztell OF((gzFile)); + ZEXTERN z_off_t ZEXPORT gzoffset OF((gzFile)); + ZEXTERN uLong ZEXPORT adler32_combine OF((uLong, uLong, z_off_t)); + ZEXTERN uLong ZEXPORT crc32_combine OF((uLong, uLong, z_off_t)); +#endif + +#else /* Z_SOLO */ + + ZEXTERN uLong ZEXPORT adler32_combine OF((uLong, uLong, z_off_t)); + ZEXTERN uLong ZEXPORT crc32_combine OF((uLong, uLong, z_off_t)); + +#endif /* !Z_SOLO */ + +/* undocumented functions */ +ZEXTERN const char * ZEXPORT zError OF((int)); +ZEXTERN int ZEXPORT inflateSyncPoint OF((z_streamp)); +ZEXTERN const z_crc_t FAR * ZEXPORT get_crc_table OF((void)); +ZEXTERN int ZEXPORT inflateUndermine OF((z_streamp, int)); +ZEXTERN int ZEXPORT inflateValidate OF((z_streamp, int)); +ZEXTERN unsigned long ZEXPORT inflateCodesUsed OF ((z_streamp)); +ZEXTERN int ZEXPORT inflateResetKeep OF((z_streamp)); +ZEXTERN int ZEXPORT deflateResetKeep OF((z_streamp)); +#if (defined(_WIN32) || defined(__CYGWIN__)) && !defined(Z_SOLO) +ZEXTERN gzFile ZEXPORT gzopen_w OF((const wchar_t *path, + const char *mode)); +#endif +#if defined(STDC) || defined(Z_HAVE_STDARG_H) +# ifndef Z_SOLO +ZEXTERN int ZEXPORTVA gzvprintf Z_ARG((gzFile file, + const char *format, + va_list va)); +# endif +#endif + +#ifdef __cplusplus +} +#endif + +#endif /* ZLIB_H */ diff --git a/vcpkg/installed/x64-windows/lib/pkgconfig/zlib.pc b/vcpkg/installed/x64-windows/lib/pkgconfig/zlib.pc new file mode 100644 index 0000000..c729b57 --- /dev/null +++ b/vcpkg/installed/x64-windows/lib/pkgconfig/zlib.pc @@ -0,0 +1,14 @@ +prefix=${pcfiledir}/../.. + +exec_prefix=${prefix} +libdir=${prefix}/lib +sharedlibdir=${prefix}/lib +includedir=${prefix}/include + +Name: zlib +Description: zlib compression library +Version: 1.2.11 + +Requires: +Libs: -L${libdir} -L${sharedlibdir} -lzlib +Cflags: -I${includedir} diff --git a/vcpkg/installed/x64-windows/lib/zlib.lib b/vcpkg/installed/x64-windows/lib/zlib.lib new file mode 100644 index 0000000000000000000000000000000000000000..8f0da48de548cff6509b96d8f40582e21584d59d GIT binary patch literal 16334 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 literal 0 HcmV?d00001 diff --git a/vcpkg/installed/x64-windows/share/zlib/copyright b/vcpkg/installed/x64-windows/share/zlib/copyright new file mode 100644 index 0000000..ca5fddf --- /dev/null +++ b/vcpkg/installed/x64-windows/share/zlib/copyright @@ -0,0 +1,20 @@ + Copyright (C) 1995-2017 Jean-loup Gailly and Mark Adler + + This software is provided 'as-is', without any express or implied + warranty. In no event will the authors be held liable for any damages + arising from the use of this software. + + Permission is granted to anyone to use this software for any purpose, + including commercial applications, and to alter it and redistribute it + freely, subject to the following restrictions: + + 1. The origin of this software must not be misrepresented; you must not + claim that you wrote the original software. If you use this software + in a product, an acknowledgment in the product documentation would be + appreciated but is not required. + 2. Altered source versions must be plainly marked as such, and must not be + misrepresented as being the original software. + 3. This notice may not be removed or altered from any source distribution. + + Jean-loup Gailly Mark Adler + jloup@gzip.org madler@alumni.caltech.edu \ No newline at end of file diff --git a/vcpkg/installed/x64-windows/share/zlib/usage b/vcpkg/installed/x64-windows/share/zlib/usage new file mode 100644 index 0000000..39d8618 --- /dev/null +++ b/vcpkg/installed/x64-windows/share/zlib/usage @@ -0,0 +1,4 @@ +The package zlib is compatible with built-in CMake targets: + + find_package(ZLIB REQUIRED) + target_link_libraries(main PRIVATE ZLIB::ZLIB) diff --git a/vcpkg/installed/x64-windows/share/zlib/vcpkg_abi_info.txt b/vcpkg/installed/x64-windows/share/zlib/vcpkg_abi_info.txt new file mode 100644 index 0000000..cdcbfbe --- /dev/null +++ b/vcpkg/installed/x64-windows/share/zlib/vcpkg_abi_info.txt @@ -0,0 +1,21 @@ +0001-Prevent-invalid-inclusions-when-HAVE_-is-set-to-0.patch 45ea73be70815c5520877f347f0b9af7804d9e65 +CONTROL 196dc885ee80e1c31c2ddf996f3e1615005895de +LICENSE e23c6e5f40647ee2f817439d3858531fb0753c9d +add_debug_postfix_on_mingw.patch 5116458a27323c83389ea15ddf12156e8f63e0ec +cmake 3.18.4 +cmake_dont_build_more_than_needed.patch 380b131349bf645f05637612e4a9a04ed8ba6349 +features core +portfile.cmake 387d9a6254f45f6766ffa21fba1adb4e16f7a248 +post_build_checks 2 +powershell 2e410fc5e429fc6ad478976eff3efcffe9d53a0620c7c31c2b8bfe1f0976cade74632fc202bf58959cec111f03b824ba42ad4d74c8a66d67ec21bbfe9b9c626d +triplet c4af432d2d060f3c5a28690e0c0bc7555bd0853a-a1c0eabb0c5177b6a8fb97a58ae398880c47b352-a5a52d3ca7ad38a4f7b764d75df11399cb9f06b3 +usage b446f7466dead962527355c13bbb617213098938 +vcpkg_configure_cmake d9e525769b8519c26e4c0446242434961527d33b +vcpkg_copy_pdbs 4bbc15802daf8f9f8a92794c10b0a89cfca1e742 +vcpkg_download_distfile 161e762d5fecd8d9e328223876a52aa659281036 +vcpkg_extract_source_archive 40d93d67b03dd376ba314638bcfbd0f9e6e5a930 +vcpkg_extract_source_archive_ex 82c579269d8f58679b16440d3d7d98be4e024853 +vcpkg_fixup_pkgconfig 9cb19196ba10f50955350e422a9004ea2d46e0dc +vcpkg_install_cmake 75d1079d6f563d87d08c8c5f63b359377aa19a6e +vcpkg_replace_string 99deefc316db487a541ba0b25d6249a0b86e2186 +vcpkg_test_cmake be514c057fc9fda9c64dda13ab2c81ccd0be87fe