glibc-html-2.26-lp150.11.20.1<>,5]0K/=„j`)J>hy.Đjm_%(Qu}Ξe GHh^>?YSgˆv%J9ݟ? k+FZ]CCGdm;:mtóo[z2-AȀ-<Wܑc6S asƷ?`2 Fu16h d|ǯEAfэi`p:ǃ|5D a|wsרcNJ6b81IV1>;?d   I! :Mx~   H # @ x lx(8j9j:ujFpGHIDXY \4]̔^6b\cdefluvzCglibc-html2.26lp150.11.20.1HTML Documentation for the GNU C LibraryThis package contains the HTML documentation for the GNU C library. Due to a lack of resources, this documentation is not complete and is partially out of date.]0Kbuild75~`vopenSUSE Leap 15.0openSUSEGFDL-1.1http://bugs.opensuse.orgDocumentation/HTMLhttp://www.gnu.org/software/libc/libc.htmllinuxnoarch=%!$c*>GC;%_Y3)e,_/zhW\*#( !(u. $89o"48/2*Hk!T\4P!/7@7/!@#Tu1;c;">#(R#q0Y=_*i|E+\6!'*$&!3Q,* +?R4UE8YNDu/}y $o e # P*50&093Y nU3' 0)"F-~5)*{/O\J|xB/l4" (IuN~e&V(!K)3)<wS)4i~2@)#..e<u%#*]<" t)F>%%}.*K?Yl4)HPI%9' S+%j2'o))! 'Q&-O%31T'>*lF -;5m'R 3v0{e)6 ? @jku3YG%8"'s(ey2!njrQZ!$!E+)_,0Z!mB ZG##j+3]"`k#(/+5^/%q%T-l H")5"d<4$b"fB3# #\H '>b5- #~'!{, :+=%$$#Qt3}<!v#5@0!R=u;!-'3L4'$[A"Nwo#'"-To'9R,9Av%!b.3p4EF^"###q%"6V&C!65ڥ%+#r< wd$! $1,{L>f1]*&-'?r&i *!A큤]0K]0Il]0Ij]0Ii]0Ie]0Ie]0Ic]0Id]0Im]0Id]0Im]0It]0Ic]0Im]0Id]0Ik]0I`]0I^]0Ik]0I^]0I^]0I^]0I^]0I^]0If]0Il]0Il]0Il]0Il]0Il]0Il]0Il]0Il]0Il]0Il]0Il]0Il]0Il]0Il]0Il]0Il]0Il]0Il]0Il]0Il]0Il]0Io]0Il]0I_]0I_]0Ih]0Ih]0Ia]0Ia]0Ik]0Ic]0Ic]0Ik]0Ik]0Ik]0Id]0Il]0Ih]0Il]0If]0Im]0Io]0I^]0Ij]0Ik]0I]]0Ib]0Ib]0Ik]0Il]0Ij]0Ib]0Ie]0Ie]0Ik]0Ij]0Ij]0Ia]0Io]0Ia]0Ic]0Ie]0I_]0I^]0I_]0Ia]0I_]0I`]0I`]0I^]0Il]0I`]0I_]0I_]0Ic]0Il]0Ia]0Ie]0I_]0I`]0Id]0I`]0Ii]0I_]0It]0Im]0Ik]0I]]0Ic]0Ie]0It]0Ie]0Ie]0Io]0In]0Im]0It]0Ih]0If]0Ic]0Ib]0Im]0Ib]0I`]0I`]0I_]0It]0Id]0I^]0Id]0Il]0Ie]0In]0I`]0Ib]0Ib]0Io]0Im]0Io]0In]0Ie]0Ie]0Ij]0Io]0Io]0Ik]0Ib]0Id]0Ik]0Ic]0Ic]0Ia]0Id]0I^]0It]0Ic]0Ib]0Ib]0Ib]0If]0I`]0Ij]0Im]0I_]0Il]0Il]0I_]0I_]0I^]0I^]0Ib]0I]]0Ih]0Ie]0Il]0Ib]0Ic]0In]0Im]0Il]0Ia]0Ig]0I`]0Im]0I^]0Id]0Ii]0Ii]0Ih]0Ih]0I]]0Id]0Iu]0Ic]0In]0Ia]0Ia]0Ia]0Ia]0Id]0Ic]0Ia]0Ib]0Id]0Ic]0Ic]0Id]0In]0I_]0Ia]0Ia]0Ik]0Ia]0Ih]0Io]0Ih]0Ih]0Io]0Io]0Ib]0Ib]0Im]0Ib]0Ib]0Ib]0Ic]0Ib]0Ib]0Ib]0Ij]0I`]0It]0I^]0I^]0Iu]0Im]0I^]0I`]0In]0I`]0Ij]0Ik]0I`]0I`]0Il]0Il]0Il]0Ic]0I]]0Ia]0In]0In]0I^]0Ik]0Id]0Io]0Ia]0I]]0I^]0I`]0It]0Ij]0Ij]0Ib]0I^]0Ie]0Ie]0Ie]0In]0Ie]0Im]0Io]0Ib]0Io]0Ig]0Io]0Ic]0I]]0Ih]0Ia]0Ia]0Ic]0Ie]0Ia]0Im]0Im]0Io]0Ic]0Ie]0Ie]0Ie]0Ih]0Ik]0Im]0Ib]0Ie]0It]0Ib]0Ih]0Ih]0Im]0Ie]0Io]0Ie]0Ie]0I^]0Ic]0Ik]0I]]0Ig]0Ie]0Ik]0Im]0Im]0I`]0Ik]0Ik]0Io]0Im]0In]0It]0In]0Ij]0If]0Ib]0If]0Ic]0It]0Ie]0If]0Ie]0Ie]0Ie]0Ie]0I`]0I`]0I`]0I`]0I`]0I^]0I^]0In]0Ik]0In]0In]0In]0Ic]0Ie]0Ij]0I]]0It]0Id]0I^]0I^]0Im]0Ia]0Ih]0If]0Io]0If]0Io]0Io]0I^]0I^]0I^]0Ik]0Ik]0I^]0Ic]0Ik]0I`]0I`]0I`]0In]0Ii]0Ie]0Ik]0Im]0Ie]0Ie]0Ia]0In]0In]0I`]0Im]0Im]0Im]0Im]0Im]0Im]0Im]0In]0In]0In]0Ie]0Ik]0Ik]0Ik]0Ik]0Io]0Ik]0Io]0I`]0I`]0I`]0If]0If]0Ik]0Il]0Ii]0Im]0Io]0Ib]0I^]0I^]0I^]0I^]0Ic]0Ic]0Ic]0Ie]0Ia]0Id]0Ic]0Ic]0Ik]0Ii]0In]0Im]0Ib]0Ib]0In]0Ib]0I]]0If]0I`]0Ie]0Ib]0If]0If]0Ia]0I]]0Io]0I]]0I^]0Ij]0Il]0Ib]0Ii]0Ii]0Ii]0In]0Ia]0Il]0Id]0Ik]0Id]0Id]0Id]0In]0It]0Ib]0It]0It]0Ie]0It]0Ib]0I^]0Ib]0Ic]0Ii]0Ij]0Im]0Im]0Il]0Im]0Im]0Il]0Im]0Il]0Il]0Ij]0Ik]0Ij]0Il]0Il]0Ik]0Il]0Ie]0Ih]0If]0If]0Ik]0Id]0Io]0Id]0Id]0Im]0Id]0Ij]0Io]0Ie]0Ie]0Ia]0Ia]0Ib]0Ia]0Ii]0Il]0Id]0I^]0It]0I_]0I]]0I^]0Ij]0Ij]0I`]0I]]0Ii]0Ih]0Il]0It]0Ih]0I]]0In]0In]0Id]0Ic]0I_]0Ia]0I`]0I`]0Im]0Ie]0Ie]0Ie]0Ie]0Im]0Id]0Im]0Ie]0Id]0Im]0Ij]0I`]0Im]0I`]0Ik]0I`]0Ik]0If]0Ik]0Ik]0Ik]0Il]0Il]0Ik]0Ik]0Ik]0Ik]0Il]0Ij]0Id]0Id]0Ia]0Ij]0Id]0Id]0Ie]0Ie]0Ie]0Ie]0Ie]0Id]0It]0If]0Ig]0Il]0I`]0Ik]0Ia]0I]]0If]0I^]0Ih]0Ic]0I^]0Im]0Id]0Ib]0Ic]0Ib]0Ia]0Ia]0Ia]0Ia]0Ib]0I_]0In]0Ib]0I_]0I_]0I_]0Io]0Ia]0If]0Il]0Il]0I^]0I^]0Id]0Ic]0Ic]0In]0In]0If]0If]0Il]0In]0In]0In]0In]0Ij]0Ik]0Ij]0Ib]0Ib]0Id]0Im]0Ie]0Il]0Ik]0Ik]0Id]0Id]0Il]0I`]0I^]0I`]0I`]0I`]0I`]0I`]0Io]0Ia]0Ij]0Ij]0Ij]0Im]0I^]0It]0I^]0Ij]0Ij]0Ij]0Ie]0I`]0Ia]0If]0I_]0I_]0Io]0Io]0Iu]0I^]0Io]0Ib]0Ib]0I]]0Im]0In]0In]0Im]0Im]0Il]0Il]0I_]0I`]0I]]0I^]0In]0In]0Ib]0Ib]0Iu]0I^]0Ia]0Io]0Io]0Io]0In]0Ic]0Il]0Im]0Ie]0Il]0Im]0I^]0Io]0I_]0Io]0Ia]0Ia]0Ia]0Id]0Id]0In]0In]0I]]0I`]0If]0In]0In]0In]0I`]0I`]0I]]0In]0If]0If]0I_]0If76cfdaa8d0b20c72d883bca91ec9c4243b43857149d9d2b6284d1cf512259c1fa9f0ebf22a41b26243fc828efc2a3bde5399e875e91617274404d412428fc9e05905fd2fbb810b3ec332e80ce6e3fdba9e91ba7b9028a8c623b0290b1a4c841304a5fe3029ed6ec0fabbd8e396744c795c06f88fe4c2f5eaf43587dfe1b10f35a838b04528a3b8fcdd91c1616b615ad5de918aaca4b79f7a9026083ecea12f97f2f468d0005b5ca19c4acdb43eecf9126160bcf9952aa36450f182d1470245465c3b6c5edfb46c37c24ec3f7842e1055b2f43ad2ebd48dc0e972a471e80808c0a220d0cd10612a10170f27c34834587e88df6457e03918239c5efe772e85905ab5b390f2270eaf89425c00b771eb6f08e8b7f062e7da54de7662af20717faaae426fd894e760ff22db7cf4d855f0e8d69c0f33b2cada21d9b78a2aa4c402f1c1bece970395bab8dc22162f2ac2a8f01e3fcc4dcafcb4fe2b4627fa0a30fd431a36269a266d79af147e6a720be001e58bdee50bde98ccdb12c8920797d2c8a557403d06a43d8a3f9e48c1437e28efb77e9e64aa6257ddb3d06e028abc50a7f10d58aeed18ca5eaccb6146ca938b2d7811894a3bd68d59200242bbc5454f77246f9f137caa3c72e618bff1ee652d7d0d4bbcb85c422f8d84c6b4a020af300f80a42bc84324252f050d5dab1eff4edf16be561f4c37713ba5e47c4fa3bd2e06c06bfc020fef50760d0ed31d7dc206893fa4dd4ab281d55cf20b49ae9a9a9fbbf005eaa33bc24f43d32b95f64fdefc7b340e4b16e55b4b284a2fcf3c328ff3751a85ab733852561d3868ddebcb2c1063e34ecfff02c35f2795620cf871f028b47a497713e0fe5684f9286227dbb7aec4c2abf8512336f6f5f597f874da60aa2cb419e6e28908027a7d085b3f00e15b6bab97188e6507c8600b04c32564192922450c2d6b753198caee4ef777bad13893a27a29e0d2202ebc540a8389927e4c0f8d9c94d9adaead7f154c67a603857e3dd34876ead9818da9cd84d29b3699523dd3e1ce8e7e3ce4eb712ff8c15b7647e8e101e53272568417855aa98ee99fc0a7fe251e3ca231fbc2991c5a02f6c36698ef33a107b5fec0bd3180aaa686a1b7c9c772dc15b16a31f0a156b724fba6d201805fc3f48e276966e847939c547215362535e5adb932367aa0ca9e9daf6db5fc099cd8841442c205c6822d965528d9ba159e5223abaf0eaf629ed8a1d5f1bca9194e70354b32c16b4fa5da34f60c3f5952e0f027f72542f5d418d80ef890615aacf9617d4ed629ddc4a74c6e072dac42ec5428ef5c7fd8773d81265613ce3ba0a743507aaebee2ccbcdc8aad9b45ef6b97228a5caa62b4680d6e95509e613dbbc0a1f95e4874f0cf30b481f2dd96401e881dc5a4b62f8cf13b4ae383124ab42ef3a994e113b68373eba313583fe1b15b59ce4ea14dab7044acea02e26ae23ab0b26f1529df563a1ee4cabb047817ba8bffd9016a9667dced21ceec0f4aba0f4e2ed30324d6697be3195dc45d55551185f9c482ddbda3dcbbea4024d95420f5d3a2089a1eba121be249c4fb14ba0e5989459adf02c820ca13b7c62317a4d0431e2faa942b43bdc83e51f595bca3d508c26e87802a3b8a144a6be86b94b34b509216a41ca0d1d1492df971afe31636083d7781c91c48f70ea3cc038f036d00cb154eeefecd7c80a5bc886a42e45219c7031104de3a4a46d793f302a5a2dbda76c668546a15d2aa85d80a59baf8fd6f4f209ab7f6498b8284f158c0c938fe6980248c98a37234fe89069f73bc7b83ed2fe1d13cdd923477c105063eaa77e80bdbcc8b767256ef5215b8bbce5871a8bc32dec294a9299e0a3866e7f62de2a8d889e8dec08d14ffefb0c9a13cab830e6ae0ea336970b141f46e08907c7275f27c7768bda76e2fc279d74a67b0afec42553d87d2cf7240fb1bb53214d522763ee42a90c8cab3e645e4c41eecb1544f04128a8aa95740dfaccd8df34442e9d58ae7da490d312d01f44f975b618bd2def10f3c5d58e6d5c44f70f75fd85ef5f307af2c4e82904b7609ca8888ff6c325c217bd5a291bf18808ae2d787fe756e50603fb7635adf9acdb81989008390aa4b975fb466a0b55f6499d64bb71960a36513020a42ff3defad4534c61e9d084d16413f2dad62d2478b18d9d557ef9420b97a343b98cb0857b147ebd6d0ff9772651bfdab4ba7b3877aa9030be8a385c875e13d711ade1db8ce7092303e8c07a4f7702122965ab2a7d9b1eb4fcff33590c495c0eb61dd4decb2fb4bc03098b5eb319e244d8e53cd48a3aac93fe6981e9a8a50d4c3bf54f9348534078f9b354c186038e23fcb778f2aa58f718e07d4cd3c73abe3418702c35d76cab6f4419c3be0e0c432ef8cb0df5195aef57f663f3bd4fe048c6f1713105a55df509d5a514e22b46538a390d419904117fb92e7bd59e37804c8abf5d926bad7291588aeecf1d53f6f14db9202b60d6708379742ab117b6be7ce775cdf1a341601ec5e1bee4d5092767eed53778822d09c9c107b1edf5e7074435ff034808801a0f59b1742ed9729715534210e1a73ec286cd478236a9271d3aa21ea404133a30ba85dcd5d3bb44ab42aaf32b965adf893ed5d4e8bf994e6605f18dac274469699da2a1aa427b915184c8e8d6a8b96b200765cc3a5304ab11c80900705faaa75d714ec84f9e8896af623c12d792fc39a5d1ef89a789722b7620c1c0e6b782b8d9828d844554e04cccb0d8675113d1e348190e82abb97f5c41902043032eba5540c56ca1e0490dca1f2b70a3a1ec81a4ba813bde1bfaf2b039749acfb9a1714724157761fc0920fb12bb6c2becbdb043cf42b667e5670412747318a65fcd7e48f24be2213bd38c716edc1cf593602c82d34e6c0a74afd6e5b5415cf638d7c4ab49c74e788505fd6ab71657ffe10996c11841f24d553ebd3cc47f5219b72db251e0464ca7aa8336ff1dee79dff79c493e569810342c29d9d4436acadce90c3ec8109fd773c16ee292613dc3f204be44c487bb53917c0ba83d8100c544ca07c6d05cd08f4ea83cc87e728cdbd09adbc55920b9a02cec9be400cbfd31288e4d83a24391a982600b9d8ceeaceb0a2badc1b884b1b140d7a1df3483e100c7f20cd5ff9b5db4974ededbb6088dbe627f1615c8c83a746459216f35460df8a8451c199fa4566078f29199dac739b836fd79227937ac669059359e9172660c3671d69cf79aa2730297a49ecf8476061051e5463aa4f74f0736743c804bcc9b7b107f3b795cb11d655eec424ef7e04a233eb7fd7c3dc619a04c1a0438998e9e732c87d1e709ed15719b31f51f607df0121b5b28a0b9db5de6f9149de012f8a0f8bbc4faabe76eefda103a3b745283bc328d5d3465b600840f2da20883e5e91d8780b1de96ec8744f6b2371c731208020dcfec928a8a91e87f0ee8d5bb1617a9041a9961c8e44af440b57e8219f94f9051b65701cfee80966fbd5147036a2f0e0c79bfb8e41f86970df752e6e50c080d0d9921f1d1d33451233db5a2b66d7a20d477ad2811334570558a131027ac95d42b4252ab75a22ef02adc7180b0d61c35d660c25b9ec2858e68028c94c3d7ccca39a50b8ef5f1e4b73553fb327387bd917411fa37c17db208bd5003d823fc30ddcbbedb7cf97a6acb0d2f7878c36e7ecf6010b26fae5785d95e9561cc33a2f7fe330c341cd80cec601e5b8395b26e51b8a3bd53aaa31b7a6b6ef2df94fd066a15659ff5202d9c5fe8c46f4fec8d4507e2d0e4134e8ff724f9cb93345f8d2cc7d05cb30aeb6b7716de7b4909a1d334330d79945bc4fab5ae1672c315b86bde91294f8b166c976f71c00605d8ad10cacd5fff21175e2d55b4d19d291e89036f66521e69fdc0440d544e3b0caeeb1029d5720e32312a4fc5d5528376bf6bf4d960a25fedc38145c84ebd77804cd306a872fe9fc75421d479371e756fea96f63e5b1223b8b87fc3d823160a14ccf15b14d63e948d5dd46c2d1b416639a8c9d2e417bd3d2254b5a328c2e0be767328cd3cc1b5a7e2252ea1e7243e33512ccc62df3caa9789b68a474dceb9fe699403c2cef4f0fdfd3aa4ead01b61c2e7805063253997c782e8f4fea30a4d57b9f7c9cce4f44f59852cc0ed06c0d45f3ac5514cef1f3f185ff6bdbfba0eebd40da679cd68c4e2ac0f68db5f289850f5a035ef40e31c355e79adad6534dc76aa032e6179af2e5918622639632ca6640d799c24200bab22778b8eec71192d7c1719f4424874f160f1d11f65a8e82fb4fb71609f38ef3949ed133fa71ac56f24656d1e74b7aab46c9d0853c5a491dfb774afd687d0ae8ee91f71e7fa46076fa7f573bb54c0fbbf4aa0d23fb8d2e15ff55451ce2d0f3f89c99c688402c3e2c8ab5481598d0c3e1a7bc355651584f27df8f84c9fb90492a19477876f8cfda984c49958391dc3d7a86211ba3ff12f0dffd50de6f682e2528179985565ae1ab14abceceb6904b0cf464e84e51f5249f3cc1fbfcdb943f94f2268ed43b8e4d8d8a3911b544d498d32f36a02c90fdf437ba695d905e3b2284704c89860e45bc45f54c73d4759f74feb436a2360a722bd75062ae6c7038787cc511094c27ce93787eeab8cd2fe64348d0cdafa79f36d8a8cb9ae7a9b760db72d3ba5fcb9f1225de1df6fecf9b4dd7c9c83eedf96c270119c90c2d7e1b7c5c440f202fe8d14050c6344860fa92c0000fdf3a774db79f9e0f92be4544c3801067d16b49023b93d842a2599712cad6b3f92da2766ca9c9c0dc3af46494917a6afee8051071935872ec96c9f7df8fd36ac8c1b1ca426664b899b3266778ed9467197fcb675692a39cba2344149e9e4a65f4c95da5fa3f4edc1eb52a135623805439656eaabb9675c558da06d31862383e34dca4db3b903371ab056c3af21ebec2d70478b04b32612dd5474a94047afb43f2849007080bce88e7508d4581dfc5e0d06cd2a2c0c591df86e3950669c163b83e34aedc00651cb357a46ee028210ba93cb7688df50636f7c056b390fd89a14840025d27513785d98bf483f9cce25f8f924ca66a5ba1f60e2daca9c14b155be61c55cd05af625003f311f345db057fd362f7e73ed9639fd8542cbdd95aed13430c6ab8a765d380d31dcb3ef9abbb7b304247be60b46ee86017b88472b6eaa8623db5a394aa88baeb242d633c75c7494a6d05648bcfc27c2ec7913d3be1d1a26f23a1e57922d1c9cbd51483fbadbc8e3e9e2aea5d02b82033d23cd3f313e0fb6e328d9a3d52f576801b56c0f9a81839adc264cb4a71809b201f938d044c6a6979be13e9ac2ff332810000d011816c17055387a8d3bbc981da8f677eaa00e6bb640c055d8b86dd82bdc3f7584544a4cd29d523b96ebf7e80e95c53481fba81d3da72e6ab418d42a004a85d4bc495c3cea2a50a92fd81ccdad1acfce23ac99b926bb6fa9e62abbd440c7a6e521948b55943100d27338d15ffcee2cad9f229d4411fddf95eaf2150099758ed27c00b3f31cd6db3115fccf7c0192b25ca3a91a96fcfb6978c83709148dddb7fcfc54cd7e1237056e4d8a48fc79711c6ed6488eb25422fdacee42135ab04e205b7b1fc727ed1d28af4853b3ede3133503d3435b9180a1dc0cd7e0224c79a5c78d073195476081c256d1a7c4230da1470b514e9ec5c21e844636630c14ef4d5d6abae6b1c7cf4e32ba404e9f10a00561682cb324b273f93cad849c4c84397fb78033d7e2ddc33b96f45a14cdae4b278e595d2fd646a93188d73bc03077392b0ed99a58ef4b6f60e717fc9f250d7889e03afc17a24c45f7b36dd91de8aba69fcef84bf93dfb00d8e2770eff8051ef5f0a4ef9bd4e3f8757b867361f6a440961e39e2e5013d5d4b3b8a6f28d349ef4091e3d2dd1898256cee03608feb48fad4735b02500a4d90b61b5b105474d5a5654c564a254a95c29ae5b35415eded03ea4b1474f9bd51254a971bb7df5a45cdd7fff15e7c8d83413039b7844110be39aebca6f90f00223a4e2c786963c95b66fcfc1f79a4f0a87346523788d3eb6065b7137ac99eedafbbf6d590e57c33edf60f81096f64980ac294e52e07a0479d38cd7a1ca654719ee031bf86cdea66af5c2f3ce805d09524e9d0a00ba015d0b623d998b83012fb4d51caaadac012bf9dd06d56ad72d8da1b8bd11e30931e2cf7076a307517aa27561168d380702d3af3a736ceec7c6e4a0540c394f8389ba576a92f2ecbf95ac7dc4cd9a7a9c72e5f545396a86e15ede15841b825492562b76e7f68f0ee413d83f79738b5e9a4a1a9e9f6f958ebc280d98c41f0ecddc2af3f63d1b4b50e0ef06199a8ef34daf0bb59dd203de8022687532f0960d4d0f99b46faf21cb34e9b23e174b9aed569e36803aca281b27cc952f5cca9ab0e3bfaaa646198882c8a587959937f8cf3f470aeac462e9dc9d782f214dc31b5374623dcbd07774fff8f446389b6f31b2c8fea7f285587b1516b17d59e90877dfa9fe9adbcb312575fb51ccd6b97d77f1ec36d7d520a6404e26eb4af4064f3676f6f06a1282ea13b3319126ce6f5a6569b8ad3dab9be3944f3dd4610eeff3a5e50c2626625ff4b511ae242916ea27bbfd0b8c37a46a634fe25db39038aa129dbde7ca00a3cbc22677bebe1cc0f1a4306dcc89d5272bdadedac57c30907c5ff62584f6f9bdcec58697a4d89772f851b18b6437c61ed7c7afd2468d437683b551c00addfb0a11a3ee5c56a20c949068a4b4ad98b03b8c36f5d53f3898f103a1796b845f7d23365709b36a317d67031ec92279486e944219539ae907b3ecdc2f9de81e1a23df15b36c8d73b4760b883fc1f33c5c1973e11c73c3dccc9153e8d20b32ef6dd72eaaae3587f3f85da976ea293020fca6978b60ddf13e633974ef322bac549cd42db9a3cc149803c02bad7459e2ac7ca326afdf73436817e26dbfd6fcbe9d4fc5d9c78f0035abfc2ef976a3e537e298dc60203eda97940e3022847041b70e9a2ce591bbe63945f1b5412edc783d52dfc403104f5045afe027741bf14c8ea9169fbf8295f66078896b0d458e593229473dfca83d0f2da61d6dc5adeaf75f7d15e6187f86c505a445df02407cdbe31cad2134020f1ef20cc9d9d1bd17fc87ab3c5701623afa748886794fbcc489efb601122cb9b82308ad47a8160a199ec3e83ee9a0255d278e2512134b2445ace9ce2d1a8425f8fb548f4a3fc6eac8cb1eec4b8425add5ed135d22b66f463eb04cf06cc8de141278e8d02f08c5781d486ba6e4ea116eea4e41bc35dd260c8a709c0382001ab7ad10bc07fdb3fde334b8f9f8179ede97680b9f03b7b9a62e1abd36b71d607279b248d9673aaa5b883066e3e09238249f670cdc10c618b654c8fd61aa1d5d8511ef4ccd810df6021c7759878551f5441c7b838523140aeb807be018749997170669e3b79613f21331e8b2b9eb7d39165baa338197a9084a8ba1920cb3b8a0e49c0e48bf762c57085aa0e42cca535d7f1f94579dbcef9a33064d04245e98c997aa20cb243afd3d136d2799ca1bc724254b020d24c423511da5aca41929042f5ef9bd6b24db7af1bd71715cb903e2ae479bd12c1581084523b231a969c569e772c25761a4b880e70440326123ad3429dcee0b6d292eda13d215eaf94e668f48d46552127fd29f1b811767c7681047c203fff6b8baaab68b8094ac47a82a03e9d00396894f17d4c3796cc8508dde5481176bf2d7e2c4f09d420426427d328052fac8b8d22edcfc38e536b9d799feb17f97c52ea8e7efcae417e9793099352206b9bb3cc571e102e04080a9fba147fc8490b6c7f9420afbecd3a9ecfde5464a47df28d862bdc743a4f4253ac054728cb820ab0bea104ad9f48bb8eaf1af677fac5603168139bee762a4a478e39b83a262609f1ffa7dfe9268d0896d5007965beb0f7dde03c33afb2944e35136f3eca66222d33a0d253913ca29285b6943a3008a6783a3f1334fdcaf24162280506477066ba12f19b6716679d121dac1b36e5b8461aeda367f387aa5e0ca0d10ea44cb233e0a883dc60814593f59208258fb11a95936d3c43255ece67f8e743d1f793c7a74f2f2e5ec8696148fb445a67818e9044a4387837657b4667fc1c7aaa77606ad9baa23b5ef9413311e4c5c9d5018ad506d3f586c6ad12a5c13e880bee016e03577f2920f2960b39f0dc853f804d49203013faa706d1f3936db23385cf9ef18c683e3c3589c29338d347f910be5ca117e85336885329bbe69c37d00a482e96bc454a67ac31afb0dc79910112e613214528c050b86f9e6ff1c2cb046daa2d4ffbbf66410c04c1d7e48515735979ade4fd38470c972859a7ba0569e114322b5a4e018cc8576df3ff70d3e2b02a834c6b2cb3f391501fe57fa096bf34e4df422fb6d521c801b52fc6b1b7e3da33c267c71309917582c08fec382e479879d7db5dc897fcd874a92e34134a3463005441983ba26df828914ffc0e78cf7c8bacb469caebf1c4e76dc1150aea791a80d9938483e89df6ee8b34e279ba9684d83228d14d5e1ff0595d5d0a984c1a960f7656eb2e1150b0aaf79aa6aa9e9897fd8e35ad49755dd1fc44752fcc0c29a8f114dc919c9a6d62e9c3bae51de50eb5681e1c8dc78117f6ae9bca774ef0377acc04eace7eea479cf4a3906cbb75f207873931e16939ba6ae3879d03f65fb599245cfcf4db71f38b20f37b6938a5717244a544e5dd47d9401d0e4484332aa11e77094595d3f6c4bd53b974187fd1806875b3cea1b2925d3fa6c6ee01f7e26b82492ca240c20875cb93bab40e62ea3ac4a879f9d3860e1f616802742362e1a1fd2beb579602a725b1cac188fee4d6c0d912e17b2632689fc97bc7a6fbafece6f82f435ea1d6a5fb51f454be0f0aa8e005a7f3aed25663954a2b5897a2411347c1aea49147621376d1fb31d698af25b6dc0e0bf8bb7a830ede81cfe4e0c8730816e8b226f376262b26bf5ced5283ea97cf96ab4b26c7e7758d1119634a4381fcff4bf6f77de8316bd8f28076eb067b40b58d10f8a15bc8257e6d73aaae8d0ca89b057029b0be92003e922908019b7b98d0a0f22bbb4bad1c15cfb637a4ff64d56df9105bbf11b3a6a2c26ed8f359666f92a57e1edc0da84d439bfa1cb0e667d83f4317d9ec095971472c324dd42bbc6f73159c710bfbef9f973315256b9a6104ca3ffa553dcf9154d3a4298acb6a5be725dee03996893534f21c848fcd42da8c72acb38f3f8fa2b5e0adbf95e7a4a7264e9aa10d17bea80aa610565f8f0af40a29f094b7f46977e63cc4888b411c19a84d0d3f14a5ea358d8d47ae6904d265b70257e8ee3ce0d76966d7983e89fa5329699e4ecde470d63b5d5d3e2fb2a43d2b1e530d267d8dc93165e376e67fdafc64186c114ce6bb9ed4f9635b82de35f1a5a6333c2875738b0f095dd7ee5232cb77f9e7841ad862ebaa5f9c420d4ad50129b0c9da08661d74a06604c921e2aab5cf7c8fb898348a1f4902a99064354d7be665824b4252e3969ba9ee05abf72060c69cbf536289dcf3763068230c586b410edcce77856d4be3797781ed0a052dd694051131fae28fc8076d66f121fafbdd04801e22d38736aab856ca92cb74148997c7ad6e8261fb0b6b00ce3a420153af166994e1d2951ce474b75e8a2edbe8f1ff835a9267ab43648d7b199d1db17c73101fcd9156f159183456c99e7c062d1a214a9b6e9380d7ab69782e46e97f3a4983b53651b00aaa4e509a9ffae0e303a8ff45669ad06b9cc336395db30971ba8c675300f838b552d2b1d1176a82a505957535eb7595fa7fa0600a70397cf3c1a61e1ecbff5b859655bc6eac7e05bf4c0d27e0dd0eec70aae9959d9b7e5693aecfd2cfdaaf8f89b3a36d67c23fbce008da6e9f386d7ad1bbd7b533e821a5cf4d675c62b4e9a9d822fd4b8ae6aa62a8f19cc32e4017e76509fc0a45e5be2c7a1b80a93a9060dd361b4ad28c204d7b29edb1c232cbc28efe0149f5785ae4620d3c83e60641931529beac6c7fe38c0e7a5b16b82ae5926b7191b56817a3bf99873567f2f7f001dbe7361d9655c5d28327c6e2029ddc7167af36cc6259bc01aabdd35013051f2a6c33a026df5ff3111dfdccda1cc4dcb19307dda2d7ac5edfc9ad58d392100f38ffe39b7a1e7af80f48c672fbc28646306a27e2ea9d316c4f988a63c8ffae01940ad40883c01c2bdfad21ef04479b531ec06581afc2614ff49c1329300a57c33542fcfdf56256587935f93b1b00e20143b8bd7aa54e0e56007e6eca2cc9f596da73dbeaa0661c58023a11a342f143ae84a337e80cef9e0fbb657b292993281155882540ac99ab0b3cb6de6980d5d9b468181633f45936751527484314918bacb5a925ff492fa13aa39413d915955e74b4c68af15d340823921d8b9eeebea83561435a828d393c789645803f8a47b271512d52608441580a8e4166290381242beacaf3ccaf55a3905ebbee13bf5e1c5331f0ac6461573013e0f784217e0c75dc573370761e081cd389632e4958c84b2594af7925b59a853ef0705419eec07d1d5ba5b38683dc30a053cb72935a30f87f0936e1f4ec092390d0c085ac849bca22c5f05d077174efb8f15e0df890963e1d74544a6411e6844c81c1abd5b26a4a42d9997cac030efd60fda7685973b9567346bf6637f063cba2a1e4c20154880f7af1b491b94ec7a5fa42b9ab962efb755bcb173ab762ff0bb540f23de90b811700fff00d4b65b8ea271cbca4bb3fbac0a76e9e46c6cae6da6d99a310c21e6c576fcdc17e4b5a9140918378f9e252fc4690ec1063fa90175c470d761c15351e69426eed1492a0dba35644255ba27433bdb1735bafd994497b41d25038e640837d2cd2c532f3d96e97044da99a643171a55a4f9f1c144ff5774b2b6a58553f4b75fd156c186b8f4b563cfd848e66b5d8bec4ffc27f2f184df8cf0ee4f20a0869fb7be94284b9c65e6fd351b1511a85b595c8809646124530673a7688f9e15cf14113a217b878351993a484772af07008d0d9178316c8797afb448c8a9dcb1210c94f2e7fa3ca3480741c518a4217c356a756625717cf590aaca3ad47ebb5a3e0cd9a9b8b1babaa5737fe4a01e12e482e86212c8b851f8b793536daaa7a940259034d87226bf0b268bd0678a260c4e785225e731fe1e656e2b104408de9213552129ff074985b6fc510d24644980bc7b35b353125fcaa1175856e0eacfa32e8e6aa3053cd0d91750fbcd8758daa91fe5a7e7bd77bc5e54d0d60fe5914dfa135b75ee8ea51f400a05b5269ba4e4af8e0d7a13475e07d7d9c0132022e3772ba7fe531e1811eef5bcc90d67eebe6aae67fc4b4a760aa57515bd2c2a97efca1ca6365738dffb43559746190355ea4abe0a888353464612d13cf8f20710fd3f2b6cd19519aef8c917e836b5b6ebee93846c378be3c426914467ca60969c472e2245f1330e4621126b18e3ade3718db27659059c64eb0f0740c8da61f72167df784a10b0d4f94044160ac5278c2a0cbee50fb71d359d1c98505d005b2598727e6a58ddd3e3dfcbc616f51c12c5428fe757b2a3ed98673713c6a53849505d63e3c4f4892fa11ffafc73db883a6a6c590d3d75f4ae41e59e085016d6046f880e7d61d155782cf636b50f7c7557536139f648ce28fe114961eec2b8e37633571348c8ef10ce74608fcd13b9cf85cc77d02fff65409c3a11159539edf9e132edc5b61d3918f6fd48248f02a8564fe4afb4a64541afcf828f7a338253b0b21bf9667bc6d77a90c0f231bf60c2025fec97e8d7eafc598cb692effd6c13a432b2eb138fd231f9baebd8e52654f26406db046a339cb273ac21ad57d17d56b4aadad184d057d1ab499a420f1d08522ea76f4961657f378c1d981e376090d77928deff3fc7bcefd1d69c019a8abfd59c059d3f6075e125185740c86efa590994e078b0e1b97b0037c82e5566e82d466ac74c8bb5581671c18ed642052927431ec15d5d988fdb4ca3d4e0a88a43ae5a42e5965bc2109b1373d83fd91daa544e375ee6ac6f1ae4555af96794630fe5824de4f552d54fe0080f0688af4e5426724beb504e1c6241b7fe6557bb862c8e84f03681bb36fdef293e23fa432fe534a6ad536caee4e374ccc5a12d58e0547ca99dd7ddb922b6f7efc5d1fd9e570253d6ff2e18bcc99e51e493f887fbecb785be67e5b43522f6491543535cb8771974ef9b8df6ec6c81c5d787fe93e2f177e76193723fd29571abe96f89ef87e5a1cf7c7f7a38c82259349415a4ad89027ca961bb40f66122ec0651299cad09b3d7d8edcc6f6cd773e82f70d17effa51a758cf91d9be93169799caa76fb26a3a31d256fe790f54c56684e2701c69f9026f7ce0a37603977a6c70f1d9cf44842d47dd3c05746bff32d2c95663ead95f44b9d906f9b6f0a04aaf4e4b0035fa7946b74d1aade06174cec1431123a0960af0e36ae2224b6addf3bb50cefdd3b3e0925c4ac58f696fdb9c59328cf97416009011968e5d39479edf1c7d32abb16a418114f1ddd7ee641350920110e9e51921a10b34010cdff8c4b096dc2e66855784e261bdd7992c8dccd06409165983980e7867407c4a342b37a697fe9788fad9fe778597a3f6451fea70db235071f469e075cb4a1ec3842d5db012df2295ce1cd0ece41902991a6df311fec17a51ad281a0001349bc0ff49796741088525be15bbaef61fc2707c14da6607cd17a969cbb5f524be0a4ed1bfb533ff6259cd78bf854e4275f1727558db9d048e5f7cd1f1a67e158d8486d4b28c48ddb9f00f2c23db1bda0debe0b357f51c748adcdf6878699736540473dbe641128dcbe8be369f41c0729ae37fe7d20634d2194c2d33f9912258be33516cedb9de06cb780ba1e95f109517220525719cdfe4f33862d3e06ee4be806f1aeb671611b12de73d466cb443dde0303e3449a81172d452e626d7946e7ffa7bd81b07c3d4d4efc94cb91dd40889cac0cbad7be6c64b0c9ce154d4ae97a7a0088bc19b6023ec79cccf31e3ab0085173e24c7596abe3d7861ec867158c439a5f6682c44bc6d7115663c3403ca0aaee0dda3d62901edf63e4c1415fad5421648393814b4a3c91de7cfdf7353f8317b86ac6473558c8ff5dd309382701ab6133d8312ee7b316e572a0ec7ed7cf22098a386669807d16c1e0481ab0ad4ef515255aa42783c806343299717f6975070ca41164a483a45daebd7895132731bf7029cda8a8828ddbdd1330b524aa421d94c34ffcf05da11d4a7caf9266cab363345429dfcc075f9516753f7dbbe3fb26befe23763d87c03a8134c51d0b12af65850e9672120180ee7552b381de6cdc8ea9c8e5b1ba486002e127a03f0a1e0de1fea78934913305a2562e38951ec9e52639e4ed6d84257ce842d429fce3cba5908bcffbb831f22b053e8ef3249bb6fa1a0dc7ed1e3cd544bc9846a71d0c3ce385b1a983e694dd916113a79b619f4a1f0056cfdfbd41a49afa447dda23ef45d4cc2f8ed9239a413f120734f86b068b739562117d4160c4118d61506347b968b1167602e0f9c43cd81cffa7023ab74832107bb4a8abb9a51ee149bbc473c80ae23726f2165051565b19c0af6483c77275d12357cd22135527242b48dddeb99e9fea2eaa4ec104817fcdc849a757f48d6d6e10510596e0fe9ee7b375e05253db3efafc7d58e67146f1795846004e60702cf3bd4dfe618c7d7455d4a4fd7c4c44bdb2f39601ef2668148afe39b3db3b0599cf4caf282ae5fb24441c5ce2b71114339f1c8dd0a06df7fea02cc9aa89bc9b40b49caa6ea43a19413d202bde4179d9ec36b6821a9565b9a54c4613f2d1a6904bd8082b9bf47119f560fdb33a7d25d9116970bd2556643bb3bac575f8b5389c0529c9706c8374346b1508eebee18464539bf9b1594d1cad23874bc4cb469caa2835593c570fb3f15d94688df80fc6e6358162e17b0884b6a87ffaa2eeb74ada06fc04cbc1be27700dbf224317d489bf37988d23807286e08ace84218bab667f9ad7b49051797a7bdee70101097c3cf579592edd0085757103fa0587cfa0572a8ac24c61dd3f7d200545e8fe5f4df4a19487aff591a6fd71237122a76cc09f12d921acb6314c05059101184c23cf3f6e8aad78a19afd0e64f3364b2a6ec5724c4b0bf4da97b9015603ff8780f18c8fb31e16b8dd3b0dcca2838e7decb9acd51d514b8332268af52901fcbb1ca0d8775888a0de321538a87d42622bc6df8de050b63f622036ec550c104d4e536cd161d4d906d7c013dc45ff04f0ba71ceee437e6ba6f34a03a18752d5bda56b2d3b98c4680605655d3cddafbf534bc042af1030cc2decd3005992226e3f5fbc4dc4f66e1092bc0eff1588046fe1ef165fbc79e062046d6948bca0134699763702a5dc7890e5e18d266b624bef8c1add07ce3ba981238e9d8ac43d41090f95f6f883127033d85222f09a23ff1fbf0af7afafc6e8bf9b02930035060b87c7c5c036d0bacecf980e988279391a94719624326fa33acd8e1cd67cdd75e6ad32ce233b193f85a9568ffa464649e9d350fa9d664f7f6be2c52414f3d00d7777bd4bb3c68738b0b01d9521930432a75259ebf1f9b3b953a959607c0cbff48e71d3612c0e06bca22332aab5fa213f8d120dc347daa3814d066a59b6d81440fa9a1e36602be437bb50aeedede2636cc17057088a2a41457fe5a13df6163768b5d20da37f50388a6870a7c780444ecdb55ac0ad362baea025b0fa394585520d36ff0546739e1754290c544b45ca86a641bddb5a5ac3bdf91a8c346578496a37bb94fc8f980f21a668f22f188335fdf2921e06aeae125c248e4f5ee115eb1a364d58bf636bae54821edccadf1271b337463810e527ad3c3ea2b3142aa7238af5408a69809795e0ea5ae2373a6e9897a43b66eb483b3101afe6140c6b85b639c092b68e01d28d9be6807cf560de5f1c099c0979e9c2e71f4f36f5ec1f393f319535a8fc75a876c32b947ce7accde621c95fb690cd84e7f8d0860f3c953132145376f55a322c43a1eaaae9346ec5a5143810005df91c8bb4f9b351125fdf4c61ce4d669667c45d8dfd387d399f9356d554c02dd9afbb12dcb4b0677ad3dc4c1b37b370cfdbd47f6f69fb024ae91957f1d9e97b46511ab97ff392577d0b0f08bde8aef8a0d6dd0cd6f2b880417780457f20e6f1f8a91a850200d9125baaa91e20932b68ccde0bcf9032c870e1fa22c591c8a0d9b1842426e826286d9fe128c3f87f925a2b99844a8061523a09c77a9d37adfb79d923e703ec401ed538250123a349e9eacd7c62ab46c0f9afcddf3e937595eb0325b3e88341b252591913e94a9ebc8611e53b1284a0305664eb4be857a9dac30f88a46efee67f312f7c0868fde7adb5a03dc84d0e4629c8a9d2c76bca2c8fcc4424429f2584bc2897a4759e56c4ae28c951962748ec9f581fc577e93b3e3660de99a8521ac823023aef52d57b1a0a41b803ab673df983c1df1b90f609aa67f21adda607375ae56e7415e5a5bdefa9450636a79d4df060e33d9418b832de75540e3928a0a11d61600cd3a7def488f629afd7941ac6a5772a3802d0749f51d759b35d54ede30be0f1fbb09a4309f2bb172d10119a3413d7cdc399ce81da09d80495ca3861a85aa5977f099f0d2976ec9402f6e86b33711d3e31680d956b71d0f17c4aefdf7bab758b60bce35e833d188394a07399ad7252f366acf294e1add72fd3aff225ff8892eced89324560755f57444c31ac42a89c413eaffcce14d1b68637b489793f8329d37ce68219eb5587a628a1b77b1c8828905ec313c6aaa5552389a1b91d8a0da2c562da4afdd420b298ad2c40e97f65eb160b4861ba980b9f510c0fc0927a80e6315caf76c3ba28c8417fae916f5e12ba73fb1357f8ad3d86905efe95400bf7e2d0e57bdb4a86a7c9034e874b587243d668033da425a8801d0e6a2df8f3c9f122ad2d7cbad5b15e445ae9d90102b51ea6b32a9dd9aecfb51c41d37eb81ec3ff76213db58ec0d8a5362b2cfdb27b5f31052c261c754cd109c7e59f971342de68c8aff44cdcf4e8213239ee6ab04923fd36163dbf0453cb44f17ec9aee80f44f1129c456e984308761d5c4e47198e5aa17278b73de18c913b32fcb738859351ce1a612a24ea6b5ecc3e045c180f2ce95ff0be5a9c856b4f9f4f8d635caf80709c6afd967cbbd37c6589b6fb97abe626a1efcca49b29b590d1ee98e5cd4e1be6105b782fe9fc48d73df8d54eaae4c48cee38f59242fc8f576502a8b785315cce90b39667374bbcf92af0a5e0b7ee662cd037f79574263e31c440723e591e9e6915db149527e8cf310ac775d6b247f33ae8bbf301e0be2ec8de82ee448656cbb3f6d0f9bd14974d3f0e327f00d6d2506d5d7626a6da96fd0ec763039a873001c26d74212f9178cf0f2669080fd28700d5ba186a90977b8d2139ec07d561509b49073d26ddacee4259d38f0fcbdad6949f5d2fe63dd7576ffc151c5d3cbd9de6de76202dab4edacb30ea88b26521787f67ff7f6b7baefb0a6f4c819b61d6fd4c5852a9e3b1ee9b9756f4da13e039153755cdfa1c3638d20957b1095f0afee056531a2c2b7756dae05c56ef26cc0f1373b1c35d87ae6f33fdaf1dca89aa484544d272a4f0c033c743bb4fc6757910ce7469d967c5483e1261f7ce93e568da18219c8db91dba49eea136a53dedda6a529ddd1a3cb4018b10df055aece3c4d8ff6410fa15b79daaacbdebeeb2bc996e4f4530703c1366daf58a4750f811e7d2d5eeb1318ad2ddfb4ea3c0bebb17a91751235dff2354f7728d1dbaf3c7427489e62ae0965c7041c88abdf342187af86d81b0c67be2c6b88084827237dcd1d011d3aee7d8605fd891f0befc21054c23a542724317811a079f9515f9b4de3a7e59f2c078a686cda32c0a1d060f8e9246942a5a46978b6381f3735cc4734dba148f417046262b81c2860dd74e129b53ac3dada21335a2d6c3acdeb474a125210f4b6c916417c96ae19a0d8f20bf17dc01c6282c2347bdae0a56e43ee477f98de8010ad90a208d5e8c55b6922e8bc449bc2804840bce23cac3b2beea92d94247ddd7d11c5776726a626e579e99cca7aad5a7c0fc048110c0ff55018bf1c5b32c5811546cf14a927d00c3c6df5ffa731a53b549f0525df6a305a003a9eda53391722508b7efab2088a4ca40fc043b5f1ae499b317ef25e5c9f8e2f00450ebd8d4055392397ba3729df96be9e551635787433c3639431cf601c6edd7f290050fa597b75ecaf5ce5261a9f7b32d18d2feaec43da229240942703feffed31103747a0100ced4ace50a7f4b51e8e5873ac8d3dfbb95bc056b5c0f417a7473dfc2fb6619d9f8d91253ae6905ba9bd5224c9913ff7f30539a2c21b9afd22e145947267812a790c71a09892acd23e0703f37a694727432f2685af8274c7b030b4e932cb03865ae81640969bc0529af541ca55d47426d333d1c7ff7ea083a8adeb22703b53b37577feef59fe583fc69ceaaa83fe27d41b9ddbf2b4cadbc5cfe44a81c2cb1e484378bd20a653ce2fac311c4997bf8b84d22bc5e2ab830d7f4c201be059c7323a5a3c61f63195e9af66be55d50b7ecd8ef09b84663cea6172cb6b95d93f86b969716514d26893e0ae107ef17f9d0aacec6646638faa0799f250d232046d33ffe27fe44cf93b7dcc35a9800195df2bf02fc32e361bb0f6c2e34df688f572b8a84fc0771ae1e818580c0ba099bb42d4f22149a39b1b82553a438e87f129eacf006d07bea5e8835b800bb380004466f1b4db2caaae7096fac38c2179be3640372c8e02b439020d62bb21895cc8ff079c98e3a6e62e345c7110d39f25e387a5b3375d1829d10756a08df71c713ab1dcf90f62010a20641ada9f03137bc278e13ece4304ae4812e06f4f4eeb578790b19735daac29ea9ea882e026cd89a3e6ef3c0cbe53314ef72e1f205bdec342788b6335220d74e559ad705a0819505299c41763191ac27412f59362c4a3919e3ed75164db5614bdcb3dc6b214e313203e5f4b94d9da09e45981eeb3847bfd7fc9522dd23962955e1c00935548325c3a2c922df8b8a0627373cd41e2fedcf153a9417e6e8a9ebce65eea3a9f315a12214b4ded9bc691e5d633d91861d0b0402aab5c3b0e59a81ffaec01c56ff2cff1b4b399c41116cf2226476dd17e397d93b6ee397b9a3a6a1796c844ce42435f82ffdcdb0c175aeae2816dea4658397af40bd319a7954586db5f569afc298dd23dace26319bd806374caf8cc5e31cbe195277614687f559d3f4e301b113e1e9546e85ab0cb1a3f2531f488262a155a09e9dd91849aaedc604b3ef2c17ecdefca3d4e9da2495649fde70459a1dcbab56c2d7f3948766db1390cda98e20d219afa711076164b44cc7b56659c3d67e7ac0af5b758f096620929bd8fe0d77da28f973e89fc5d2d493a0124ec0101ea45d196a1fbd86097ad0a02b34b5c70c6ce0fe1e19ea5e799b5a51d3d66b5f0533f21ee4c6df3860067318e858ba9ce93c901d0bd5772c3b94dabaa2b06bd81ac19f88096b9b6a209b459d7fef840cfa7412f37ccef1111af1b3a791eeec2f18e8199f052edfa8b40efbbb276a77d324a69cb8f4316dc7d7c0a5655826a1eeec7d249ccadd2a9773c9d909d8651534015f7d4c02c4a99f9312c2df67ff73a8b21d88e27397df9b1bc36c36cf861f8b360562300acdd0324f4529dec8c8d11bb492737ea1edc52f105119eb9317b23c65d079ce73eefa3f3cf675cf1f1692c261da0ff51a7f422aedaf5c69edad357af6f7717a81f6ff5cc64aeb69885d1affa63821813c846b75014e68de7f20c7f8ce77c17b61c81198886b0134ae1d516520bbd92ca7e47f338934e7fe14f80451dca50f7f884f0c941e6a1abea524f3c37a30e1020ec249405c375c88428b11feb0ed3a7a400e94a80dbd3deea4c49a1c58a185140f3298c7618c0eadfb30d812484dcc4895aa904570864ccddb8ef76a588ce96172a67aa97fc32d86826d71a13b0c9e2daf6404c10a515761c886ca2397a8bab4ea9bde6821b9653c1bab11c074b50c7019fa780ac7013beeefb526baf83830c29a7472a51bbd49c8af71da14e8eb5b7307fadd9924e18ce474461930931b4e2a29e4998312d754481ed7a5c082f72430a266ab0f5265d68c206f5367583b7f1245d079ce9734842ec3567ba3f830c2116ad4af01356e1e2f44597c5dd77ec6db376cb611d9bdfcb1faf37f882cd5b966161ea73c21ecc47087fbef0aec109645e6ff9f87779be22bc3e5abff041a577f22ba278281ef8b86ea64eb0c8d68cdf4aaeec4c169fc82a5715389367af46288c59823cd4bda0a4710ac52d65358addd45dec061703ad5624c812b702478a9e836e1cef34357271a8198f176120a676d067c62811ef189b943bc63ef6330fd3ce9ac9f21f50329b27e3b7796d3c6e059bb73f1b4fcc88ebfc874921a14245af8771bda07c2f99eef4a25faaf73cd82043ae8dfc404d22808f37c495e4aad6df4ed6497ee6e1a59a1226a7bd19e3a5a8189d2a7f3355c1acc09f651bca974b1bb6ce070b0eed05ce92c177e3d3917d27e748ad42e05020742f65cc02367fd8291f34d596e1dd07153ad7f6ca89fcb5b4a10dee22303984140cde11e27eaffe27e48dd5af7d72c8c7d261701a5a84d6e7acc3ca9d201d5f9aa2817fff45062aaab79d0242c6ca75c62e4e19e3087626cc774b25e39e92956df7826c7e0adf6f3d3f98eb4ff14a6909e493e46236d10b1d2944db1fa763cc1a544c5cc6c9a1ef673ec0fde232b38e2a0cacdb31f4c0b4c45f8c0be348c90a65a8037d5ccef84e525259fad5e2386872245a65515958b955bd3ab18f717d651bfd14f80bdcec9bc8f942350f1dd92934604d7605bf3a13d2e6e358209d5707a41fc65282c1db7b24d9de635ad54284412fb08c21c83426e694173eb3d993c2750be26c84a7cd8ca7f5461c4d8ae69b717f52fa80cefd4b76ee1050ac21bf52d34b9cb86b2697d3dfba15ac1435269e081297996fc159bec21cf8e27b838d169f3dbf006203141207040904009999527d3dadf8351b7b8d7998c612cd1ae05e51eb54b5cfc166e87d6838010c62d5cb11d88436095ec028840338474dad3d4c4d5ffe999fcd9190d6cc511738e3cbce179f162e3d1b91243cba2700b7b8e33f8eb251ce978f98eeb13bc02cb7ac1749dea6bc85ffcfce442681037dfa991eb6b1abfb81d4ee54359ffd06a5d8923939e3d12c05c73869acb30ecb97a680137e8b6ea89474d74fee3fa2562f4cbf98fd1443c0bca611b9b2b8dee96c17b5424704de3e2958efddbfafbe1a5819d89e163def344595b077a1ef0d55b0087608d4c06878fab8a9a5ec628358bbdbd2d1729e380f444478a65b666827bd4d177847625e1456606696a169fa79075896b6d0a4153b4ee4030a4e5e3a28775b26f6e739896f6204a5433317294db411b04d1d985eb47dcb914b2ac2a2ea6ec785d8ea739144172916e5eee9b4c47099a734c3356e780f45ebaa705387c37ad193e153fd19af5f3448f95ccb025aee847e1d52e2012c4ff94837114742654bee65e019bcd5c4083f286cf636000587c3355665f96ecff18f5bd2767cf31331610dae9b04cde7db9e3c694cf4a2507656b2f9f33e87ab4e147105aaa38085404e8dcdca2a0b536b1e3bda0367272c2e3dad61d0178dbaf8fcecc5d78a74222cef68b286659918eae700314ba8dd55d911f1ad328721eb4a5185aeb7c86873daeb074baaaad1ea5c35b21b2f3246ef8506d52ec4c11b40808cf12bb428ceb2bafe5bd2042f5ad06869117d06a9c3a5ab59a1f7ca5720fae4cc84eb2c1c6de556399d5872baffc6bf20947f6f73de9a7b115515eeacfacd015c607252f98ddbbd403fbeaf4f0afeee3329f09deeec429fc5c03aaff2a08d0452e09e5c6e985068cda9556d5bf64f164fbd1042897a48c454a1f63dbc75df5ba0bc0c976389f4f5d0b5577949c8e350900a97705a531272d4d06ff3a9ca02fde8c2464bdd569c0b5ca2dcf07e53984c5e99e230213765e176696865191f61724b31e5a0ad045428992c0cc14201f37cb45b088180fc54c297bc6d36de9678b3bcd718db23c1dc26c6a04170a6b4c5a76006dba27f4c75da240200791063d114504af1be249790c9143ec5554a28054b10c467b6055b27a877ad934f70b73c64699c3fbb89280579bd7efcebe278bf5a71b3b30c49e0225d00497dcf753c2a2fcd71b9c8c771da3659c884bb4570c824dbe595f30d72455adfb6f1589f6111acd18377acb2236ef44972fde83754e9bb4cad33f045b4f94a0a3f2dace268a84806046ac30234a1956e16848ac52a97ccec0d0df7fd4f8c41b8b98e021278507e29f6f62c6db796aff728587f51836e187ebf5f2846fdd0160a6ea28e538fd2d44627a40998e990fbe72f4d49413422056ad12df49085289908f018d50fef25d25b70fc710273021aef1f35c99bc27fc9fc195c3759db3fc1c14956457efe79ff8b13d48b45aba45e4454766ebbefaeceaf6219f535e38384c24c2ecb47dddd91a32de81c9b1cf323bb2b4ad3d84fa3403c1c86707683ca274b0bc1e057e1aa2e1dfe639c3ff9542721346f2d0e6cf93f0be287cb0725725ca8ddd5c60a48bcf9b7d074062602797b8bcfd4f327790419b202b6e52445546f3959c0ce7454c5d017ae15534571ec31a966f87c0464799d48613f31991af95eb01fad3bac7325d1cdcca95a7bac940eedc4774636ddfd5a806501ea1029a9b4d910710903966f70fa8592b12c7f3cf22d7e41f209b169e82cbf05b2200c489845fd7fb2cd73fbf8bb06e3d6e5730f8b897dabdaa641bb7b7d27248e6471f59238baeedc5bcd02c74c78ae5a8f89457338c1109474bef5d60fbf21803432ec20ff45b9de3cf1ba75d594b1b13b1fbdad46b8c8f028a65f3afd9521a86e3747eeb23c8f43d0448812e7a09b513a5260c2642d1323af608de5135130642fc09fd92734bf3244a5e88e2542f74a05a5b9379f1ecdb0266be85004f48721ff919a25f0c25affd7b37a57bba61ad346fea1efc4424d2042594ce06690d55f66de9830fb40dd74ca3207cedb74259bcba73b4b87e902851296e42999abe01d1dc05795b172dfefc18a048a0e2e0b28e73b238faf838648537f3a16fbb8f6bd74445618e2a51522ad948814b8de093ac94000cb7dda8462b1007dc6f13f82eaa10c9c704ee371284f5a49bdc5352adfbc8c26ead511f4552083e6d06e964918854fb65dfd3a3261f9873822c98336b3a17518bdcfcae1428687b5cf43413ccabe49787bef85184b860ee569322fe36882c722973ff1ebe67983251f5c4b9cb0d7c060dd961c388597a6544a667971ef445afb2b2a7160c294abe9310ca610094ef4cce4114bacb5f83ae2d6da1109ec743bdd1480287d44cf011f7861db3efb8ffb53532920d47f00fdb649428121bc7d0584aaddd649257a1c52a7b63c33a67c019e9eca9a8a075e5810a2cfba827dcb5241a10ed570f16d453d5ec896f3efc721c647814b0354ce2a6c2f2d6706756369328841d2c0992f38dbef77e485371d1f68059b00e0e7848854051f3fa2dfadd61fcb9ef3631279ecef8f0dbbf1fba557e35e1923e3b5802dcac0a50ad814931887a68fb27393ef8ca7145a3e791417a7e1017659750ad0f6f9f0a0d3a3b8229cef50389e34f6711f5ba2ec4aaff91bd81d0d53c0e0fce3300f61efb02f783eb9d6b447079f84290931cd185ac5f891957882014be23a492acccfdbf91c4db38059e77f405c6c8b8aeca05e6852605af5dad3e2707f7c82d11f8095410d124fd4d5fccbc8bf8af99aaaaa7b2b9b64a1bd76b666a622a27e38873d34383c57f1b22623e6b93aa16e7afebf069dedecffb9d8a1dc3050f7c88e6173037fc89fc6941d5b4813d80f282c8f8802c3f6430277e0a5e487707b54e7f994f584fe644d2609da01f6afddef5482754363b2fe6eaa9d4c4f28575760952231d7dc0909918b05498929a52d417dd7d90930e6ae0e16463e9498f1764caeb567488faba7e7e8d1ae183e342ddf9c0f7a7b669ff310219be389119fa10fe5e90659e833a2d8fdcd98353a07e54fea870357b073ee7abfddd5e2bb6ad73e905403eaf0d7f3321f36185ba36ad7011ac2e1f385be65417851851e6e7d1bce581bdf1e6f4e2b584317fabd45a774bdbe1fd6018c4155b3cdd7ffeaef4d304ff8a770ac38e2dc79d7952081d3aa65ba726e77facc97ed338c093b5334ee77d735fd085aafdabc0a94bb6cc9dba2edf5c133f578ce0f84705b6dfc62afb35de5d734c0b95b8fb31c065309c1ab1cde8ccd8666b143ace43b496eda3a68828930755afd7df2fefc6926db1bf7bf1ecb16f4f7bdb5136ee0bcdf6fbf5aebf593a5669cdefd2cdb1a1a81f34c49f4cde5e07f219f6885f36fc0b9e97cf7ff92128b99ea77f464bc413897ec6d9905470c3c7028464cb28aaa7130c6ecbfc04067c8fbba4edd1dae090e150cca59bd027bee88b5c9a4cb47d77cf0c07da49a62f4643f0782ec267cfbcf4f44da12ae7b20baaeec4d2530bd14e154e0c1bf677873f3fc7f18652167f3c8329f609e78c25dbe76f565bb4e5a73a2de8e6379d30e7baa3dc0c8c1909f4303fdb88068aa53db41c88ec21178f3e9ac9a8e3d58010a0abaa28d34df592b2f694c78f493e2f9560e03ef95cf03aa917880bf60cd207a870ff1710424c37947cf56048496af556f5256bb2c707cc8485f57e39ad2726b9c3433223b9093fc1e34dda5bfeb0366a4809a18fdb48550f60dec287941e79ddfa2f7eb42fdbb87a3d68623297e177b0102fe15e629ccc5fe6a05dc2f6a3eef9ef134eec6ee570a0ae865c58c4fa7e0bf0b6407a92c5a1a86ab344afbb6d6c2a9b05f64536e3eb87ce7af5a4e52763d09fa1a01ee5efe850f4738adc94e07be85527a559155a21a317457b51c9b9a8adea89d4974c9d37d6d605e74ad4bf32e1e8852934a9921fdb1af16b63d96a01ac0ce22796e0cfd95f1b2c762286a7f8bcdf539fe1311394ed1a290d70f32a813836a418515aee942e1d18b108f8eb4c749047e078b6f8066186d397a87d818910f086cd06c1dd5e8eb1d503a399ab1a3318cbb7516edb64b67a6289940ccd1885a230b2069e8b186f661aa973e8ac95d16dfa872fc097f33cb4fffc5188302d02fe36e6ecbbb77f589cee85b6e0314cc9d977cc8c458622b9eb5d86a191284b04598edf1967ad947dd6cc4f7d8a5ad0f6c840cc32747b39c4987a3328e18ea88d7da791a6bd84701c3c62c50494af93b8fa615d021a7b59e61f36bec123cd852a72a306ad11099829dd6c9cf29ede0f565f7d6082105c579407d0790b89a06f248213d41e796ac5b911021751ace44d51d77d1f16eb95375f39dd0eb56ede448f8cba53d4d1fb6e21d74e88e92fe00e52058e587e34ba56ee7a5a7f98c6f80a01a7568e17941e577dca7ab8081036bb9166318248765b71fdd152a3f4c7297156429c485c5c6998b19e31ab49f34fe6e35d501324f261d7620461b8cffdad5d6a7c6c1819d8b742ec3ee6fb35d24f25f939d8c15136efe927272a2390f15e57236140ee96adc60ce2ecf6dae2e80eadce1d7f7739a043b1ca7675c3480fc869f64dcc7b0761e9dd9eb0562e395e7da35cab28351bebcfbc2f9baa5da27bbeb8e34624b09577e4dce548676e0e416744a2864a66fc726d88f2a5e4b497c1bdf4499d36a950e89b62e0871d39ac67421f9c0f41db0c2de5e55ba20f3506ab88523f04d72e74bf8c44c5cf0c661e2f4dc29336fa3d3a70b4c69ae1c59d1f3296321b78755960f85f2bdf335f298085e5b59e266c456f973a2906f509c93db6904693bb161ba3b9ebf1781939ff24d8710fee5123485337b57cc871a148a7c10c3a9a86d047e7f0cd506f2cb66ac89ffcc9b740b766a874254bf57cd3be3807e3e16e941c64099b1d5bbd12fa1097ba49bbfb04b54ce0482425499b0e26b9611a346b9da0d24f24814add31e0b1f1a82a38f32b2149fa6fc5d7f2842d89896ee022787ad726b2a5cfc5810a8ef4873fb49ef6f82c241761fdc80740f311cd43813b4f83c5fef9dbfdfce5d6ac03bdc64dd488780ee30f33322af6331607f23b6e720cc0f258e58b44b0093d1364dea30c92c6b622a882d2b09ac5858b83a2d526f7033730ab0ef1ad69afe7c14f27e0a4f24df24b2754efc9290884ce1d8a30f1341bdf03b1a4b97b427c1d234860960486d16a987470855a8a3e1003eae4912ae22ccaa3bc7edeca1152367381a9153fa621f940473fa8fdb6e2450635cd05aa4ea2eab8856c9c3bd0d170c19e84ce285a14ad5c85d8c165d355f9a56892458b5afa2c937f0bbce8587f8253e6e294a2b00b5ba013a0314c289a14564eba487333e789c4b59f4a5997568155d9d903f6fee644fffdb5c54756b310dfde0d570ada7c66aceeebd3dfbe03b906572aa43e9fafabbe07a6db6eb2cfa7974eb0fec28c72be236e4bf83c0e2e365e873d9a28bd3eef84dbe0e3ae978b090e35905a6b8bd143450eea114f59a6f893c0aa4f80640c8a960056478eaa3e3324a5a44e644a0c7a02417577e683400186a3fd2df2da736a1740ea31fe084e3afbba511d3b6bfb5a508e43d22a2fdd5a0f2fd6ae2f1553b75a5c40e81370bfda068db594deae9dc2e1e821441a89063953daf75565bab7e09aea6f9738700959aa039117c9f51e54c6c779ed273660a3b002ecedf82cefbe7b5fc00d371e4f50e6ffaced3958db54bd62b3587f10626422f33578cc2ea2473aaee9d664b367e1ccaf0a1dd8a6bc40e0de8452484508896a179d3dd22eebc408e7647a645986aef49a0a39fedc28d5e698351e8b05a4196e481dc4bff886354c30788ae51a9ba5bd93fb974886a6f77b1e327fe894f2e502c1eb30bcbd6cd0214244a88ad878c677cdb0f84d0693a08aeed6261ea99ceee21e892012d22ea4fb39d4fd5a4880ddba4334a087243c620b796a5a2049d142e4e959e8eebbad7344db82671fa08f8b54f90a3bbcfb5fe68322743ed05dd42444002a4109ec0377a971b4a997ccd97b0753d9e1934260aa6573f117f9ea70e848078046592326da6c044339dbaecc6d662d0afaf128b33ed3287c087973c9438143eeceebdd8dd96563a97dcfd7c6c3a29f9eef9d13b32839e179de3b09ab2867cbf1d654bcd9ccaad3c89323c5720e071eb3352b200d2f2a8056a0d2228cc87739ee66b5467eab163bc90b110a9d1923eb51075f8f30d550ad109d0e720837dd01cc6572506de16ef8675e55c5edfce90b285741ea4e8c2d96cf56c1216428b4b3e60405dadaeb2008602b203a4f94ff6ca9fae3b6687c49a04bc464fb27ae8955a01c1565a0ead39ab05d5dec0840e329a6734a245a1166531f78baecfa00417a659a9dd10783b55d536d1fc3dce20b22ea6114bfc98927c0c05ef0a4be3067885687c6ce8cf36e6c291b613dc2c604f2ee56cb8f9184ed1066e69584d98691da0aaa054d37a955d368ab2a3e60513a0421df870cdd2459378b23de8ca6ec7144bcc1866dc0e87150d2a7c0bea55e5a7423e100a01ef3e31d4124d370900c0c418d2bf8bc2cf2641db2fcebce65748a83d1ce2b98574648cb7270a9b0a925364fc76b15cd0f17d8668fa7fa4fce559af10aa851584a7c6052ee9be69af36ffc7ec3045bd3d66ff39da0b4d8797ccbf67e4a1a1f5e5a0b36ce9919414fb4c7fa910760387859d7ac877bc29637358847fdaa78aad0ad6fd4541f0e2b33196929230f3eb9646bec532629341bcbf3b539bee751a9d8f781facb4bd99c9de96c6b1be45fceac590d1bce64abe749c62ca808f6be0be10422c8c69b9979aae12ce61b126ba3e1ffdb48dc4e20eabeb708dde4a44341032c2b4b512d18f196844681aa29c47402edc5d79e7208f5f4a579c2e1217cac461cb877578b93fa6a9e763aba2c3a6a18b3fe0843b6e86b2ec7475d3f6a75a7e433778703555080266556f7d688737b68c59a9a6fdbd24365628233c10e8d2f609fdcfe79d266bdbcfd41accb5bd91bcd2a1903f215dde9cc41a4136f7c99e1974503dfd3bb1341a4e17c90eaf48dbc8633e2332fc79f530bed29bc0c0979c0da41a8264a7d71e7a5b4b66e635b3920943475ea5703efdc4462dffe5dbaf1edf27de7b33b2f045efa0bdc7cdc6f7aebcc4e0c70644107dd86ccef349a02e3c9f514f173074bada17d0fd26350cbc0796cb401f2c2222e00efe6649ea475966f4dadb50fde2a57aa2df3c0926834b7bbc4f8711fe8eccd39261add922037066ab888da393af395ca04b9a9a87650543862deead22b41b92a73cb752b257e3667f05546660fe0b486a0e450f6e47a449b8308d6b2f92fe1ede2149ee89ddd325db82d9efe48a7c6af7ab260e215f3b4639a381593c1cd23f1a5ac3bb6d0de54ba61e7e83e4d89e5493c4923b42fdedcc337957d25e50eb7208bba5a0d5c1279cdb4b02f63dc4364bb036bd5823038a0e53abb2f9bceebe26dada7a8902b6808a71150016003033f6d437af4451a0223536a7f1f94f7e736e205a8520664fd9fc1234c9cf2006f3aef8bc7b865ac48a0e55055dd33d9cdc92453d651f978861186ac4ce815f9b37e5eb82178ea7001d6764225f02ae716f64203fcc1e9898b71589e07f29ca7e83d78df3ae5654dd8bab2d0d8471245084a2634d6d96151dea8b89524cabbe4ed59eafddeba0cece40c75cc933c270923fe0a23216f93baf75e189d0fdc8f5683b968d7b29c94b8b953e6a92bceaffeb314ebff6d5f9ca287e606d30f0458fd74043fb4d157a47faaa386bf5072a3deabb372a23c63abec0cc9ef7ebf16c17c8763e78aa7d50c910e8bdf4216a61025769fca3e99f19ab1009c31898b5718ca6e3748db373069d8560ce3974f981ecabd11c2f6006f780c00d666866855061b43bb81ac529584f35f2f5f37cbae379044c37f4ef4368954bf69b7eb5d93339d75a014a84543e0e8baec732fdc0865760e4555f8a4b6b490d3db75649c494d1812e7ce5c5d33a2b8f12fd246184e3eb12211ba82e4589fed949ef705b73f30213ec319f7da5a2cf8fad0095d733715f66fd04e28f6bf4216460df9d30f784afff25885f1c3879316005c6d084f5e7539e48b6e1d5de24b0fdcb7e30c290537a7b7610e82b0f8ad34903d7e58ebf22382ea05bc738f2b00beff4f3624c6cee1f9cab189d8180f7872100448d0794414534f4f9d38108616baef035ebdabf86ce44358747c970a606641878edabb36917ae2e077a0288c1e012c9a4bf4e858aa50ed878d4e018b1c5f3bca0da020c3d69b05661c91612a15d56fc7d1ad2dd51c3fc2c23502515c5232913d940af6294dccea45889a4852c9d8b610faab4d1f5c1718cd9504ed2f59f08e4f150b865883e6f21bc2d2c1909fcba29b8ce474082959fa7e8b3190a186f92be77d021bcb63404c9168680318b96d724d4b22f9abad284aea084aef6408b092977755542fd1cfa825e81afb22109331016f9fbc860e6bbeaaec916bc88e01b6c81077efe1511a163996af723d32afcf8e83ff7943b5b207329024dd258468c38b8ca9652b0996c880c9c8ffde8c527b76d41d6bdc5fedf766d6d7804b68b78156ffafd79ee1d96844e0e50f2cd88ba5ba0e95baa9115ab83ceab4fa04d557b5b4d5d19afddc159319b1af0d65f52de10ea61c6506a5ac2119622056589f478ae96226eace8de3ea1609fb3e3a93f43a45622054112e6c524ec651f78132eb17449e099ae4542760f9625b52c1299142c0c043d13ab330a6b7a32345c9c724e71bb07d71bee5cdb8f29eafbd2c7ac5db1ed40d3a5cb29bc2e33ed0439da0159917af03c13399c7958c9273402e4726c5dedb61391536b66ad6f9070fc498726bca57432c0342715c0296d5c7afc077565d9207c2d8fcdaa0422b6062fe2546ec38d7f8f8b7cb088c31b832ed755417d3654d2dacc9b00dfaad01187a43c7753b70cf049bd499ed09ef5fe0629d97f96054e7c4e50a435f086efd2d61b22869e98f5e76eaf5131bbd1448d95d22d6bff727127375214ed54027f68e74bc65826896a278544ec3537eea3ec5324200a21372466482e48ce4fb6f8b2871e9a262b7a0b26011a4d807cffe090a2a714ebe7cb7dc5d898a5cd398dcfe6c5c1e029b11d8e740bce3b7faa69375b4a703e5d266adc6ea04bae0c87f9bc5bf95823b2171a2aa2454ff76ea932ba9a811e86de42a80c78a7fe9065810613b60a8cd046fdd7b4fa1223bb1c00145f3a182a81c1cf186956cfff15a7ec913726d2d3961baaf01acff01bdccf9b360a694a8f7cea50b0eae47afee1d1765702943aad98d93257022ffb1af4c85b0493c2f741eb468a0507ccb4d9cb436de693460f84caaec712b1863e02a1c49795b44d489a526a97b400a116630a4a37f0a7184f5c6291e299b592ed98313ed2d5b838a76fa9ec83e2edf1acd8ef2c23ddec3df791e7e804b8100385d216ef7cc2e2208193d1814d1a017b3d6fec60e9f052207ba8d9ba1a4ef1074d188aae5256b12e527966d93caf5723198afd8b4c366fdfa4740595e3275fd2b9402bb87e52656bf26c288220410ab6a0217d97cc55ab81a511e7dacf98eff7b764b00a08f4a72322bef2a39a4eb930d9c266f838987550ef3ae5729218b9f776693f13bd7ed46fd85d21e2089e033b68cf1dd4aeef41becc4548d0b0f25f9c4941f704a02699f89fb77dfd42d6d24a180d80367cd885a3bc0de85b9babd6c4950c806f191f27dd51a72860e33ac51598a643ea45a93437be963df2b5ca276961f49db7a7e4ab3848db84b7242e71cb8af787bb03e31b1f793197547aa6938031d0e7532846572e8ca1163e0cd64083ced43fc926e0deb1984aa87c69acf879db55616198d46a006f6e10a33b182fbf08dc7e5c08eedf47bba79c0cec3eaf95477cc8d23974c8ba5399608bea185511c07c13c13e266d06755ddff1c0f2673b7916bb017290a75b1d27054bf0e91b367517b245977a67693fbd11351d6507c373c76c095c83fa087da3bb44013fb6e1c5b83b79048e3cbf54a5fc0446aa204735e902387ac883ef92a06e0ec2226498dfea6754151c246d722dc4e839716b0e791ba8411afc3f622af2c0e4c33b48871009c4ce2c88f1ecc93ecdc3470b5154dafae4606904d3d30f8b83957a30c546fbb675f90ca3fbd6e45c82e38162ba0abf6220bf26df6bd92c39230969c26c377f683bc93938c88956867139a8fd42a3bcee6450f59e6b243586d9e81b030b89461997ef49bf2d654c99dc5294628f9b71ddfef69946a3cc63a7f44babb92158a4a64ca35ae4556c81575b994ed3d07480ce9250a8dc37d93efb4afb0befd7c61577a9d6568035c0e374d6219ba1896f8855307f5adef7b6b0988cceb2e9f2162c078b5d231150d5615f37659207d9bd130abef67afe1451917cfcca75d237eccd72b902949dde440c0720ad8dc8f48750952eea999e7925162a2f3e36079c89f0a7ddb3db33a2524cc40b7f122e0fdfda52275ef6f5f00dcc0c445b05c4ced60218126645ee9182fce01050d76de31a1c3f14ae5c2074a214d58b3961c4f4a1d712158fd8e44d5736224f5efc5a344844c3071893706183dc0a2ba62497ec59d3caf5cdde62533f367662bb420be51724c27e3050a5f878607466f51407030258b39cff93791acde741acec84fbc02f27d5f8acfc6948ad5dc6a9f7e2d395ea5c4479d185c333bb243355b5fab1397c98ce56efad1deecaa2c757dc89a5b9ac3923b7d31786b3e7eed1ece37cea88d970211d980b5f6fcc8be9218a68926b5bc794106ec152a5cbfb4e5efa9882f74ac539f95585adcbe5ded08ac31245974e286eaa07bef33024da6bcd949ed6ba955c400a4034e09caa6a4329375214a5e10160814a30e65cf57625d575a445e4197569b1fc8ad366648b454ff529b41ac1f25ccb794333167a5e6c1901d78d6311e89a1725d2b7ad388bfa9c7e6f36edd94bc64b6cf05e9a4cc2663707945d64986df3c934b826dbf9e9b46d9529478cb3a63fc293db6a9adfcdaaa8fec58a1c85b9c0602ecd9e92516367bf263eba084223cc5b1234e811612a98deb126faca637d981c920ce65f0112ef2bef84d99377a8bd08eb81b2bb494811941677630e940e8edc4cb8e841d52a610f0db5478b5d94c4e007b18ee01a4ea9dfc40cd91e0639e6021a01cf832dfaf89b12f921a9ee99e782fad97dcbc393ecbd37164190e5feda0bdf1c5402c92a492c83584a9b3428b2ea69f78ba4ee13197d6c5c85fbb42d89251a64df8f3cc18bebc82a44873ead3efe299dff8fff87b9735161e2bdc68d324c7a70b97bf9fd4a70882d99211816f24fd6aefd59e08f6b43f8446ad0c0f79ee3169a14a5df68fe58283397b64214e7d465b1e72a5a9070f71073f795e8a8918970cfd4ef8a6901172549882e3534c75deab4133c7417bbdfe7b38f956faf5e0fd8cacf1c4afd306fcef9c3d5e753d7ab4b0065c2fb45564fbcc2e9ca2eba1fc55d942c0f69c564c316733e4bd88c8189ab50c5851e2371db7823e915bd539519d2503570460edeb066723b51fd6faa92d1d0520a54b0fcb728deca98555c4a03356a9a8f3b2fc6a50c9c64d4d39babdf1e72e8e21ca6720501353996ad4ce00068dc7f1eae75b96791e457b0c32314ace9e2e59262ea52596618d5cf56371a1259caa29a692d21af96b89a9af5bc7cfa7c7b1f79213b863453305066de3741815b876e114474b750b95e6b1ba0180f806985daa497553e662e7365f44005f44560950ff92a8b4fc24f088ca56490712caf86ae16e15fc32ed73a73087de4ade0ae3582795e5548f80b7e6532d8fd0586b5ebe5c2475d90c254c572e664bac47ef9193a063e8d73d33d2a4c54e7fafcb36b5327339f004fd09ce29657b8bdb0f88488fa729544e8bdcfcdaf4347cca20cf9d72557e0c0d2f045bbf1e885a33ccf4f935c2a00f91bf652041621c605d4e5bf67b4817778e285cf7dd02e63dbdcdb1c7786bcc5d00257129916fe9f9728db288315d0a23a2ccf75603074ee41c6df7559307b72dad68a6b578ee5a57679e8e9189c65114c1a9f2e274c4f1e6c76190b2d47cfae39d2d60f4f572eb78f66f4d02848f95fab2aec450132462d19d4797930ab26c7f28c5e7aa7f5308e37293a6477006d67b26c10e016b9acf5986a950a44fdf3c4eea28d9383dcd5920555e5051af6bd2b84e8e6a27b37e220bb269044cd45a8d342b36496cb85dccfb565add9b77466907fb6eadb9bcd5ed06e527566292d74b9278e6678ca5df01601c6ff6150fb9dbf26aa7ba26ca9075acd5a0f20e6c541101fced0d17089594e03d4e89cdda81f430b10567addc4089e4b02cc0bb869e18316dda11b3f60e26af53eac4e128ea499199b39336cc3237f9534f4c49f86b4a824bb7933df5b7c2fedd7f1faa11e2d941ab3a98a6dca0a0c51e9e17856e690f99d7b3636d323c79fa39f3cf87976ce3c9e136ff87274a082b65faa50b9f537eb4ec4bdf4c94f8c672c3c8f4de11a5d0297544c31aaa80ceb772a614251d094af70016484c1870fb95f6233c446dbc4344159fd10ae2228c2c50e5220b6e554d4670e936ecf511ccc0c7082e675b8c974cf30bed70750303812e8d594634b366dcb658561de27981871fdc393efa7bc9dd6cc6076cd7866d41a8d7356e7903c04338b99d09d13e4a4c24c9ea6bfe7997629479d74294056365600e508479ec43102c94fc12a07710a1963c4139a5bd6ebdf589db423b10688a07cdd074a8610b83fa14b9ad93c1b0c538da57d44a9227533d922bcb6c2a1faa8dfb0e74f87ff573dad43fb9f440430d3ac486e1a11ba8e53900db37f8dc82ffe643drootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootglibc-2.26-lp150.11.20.1.src.rpmglibc-html    rpmlib(CompressedFileNames)rpmlib(FileDigests)rpmlib(PayloadFilesHavePrefix)rpmlib(PayloadIsXz)3.0.4-14.6.0-14.0-15.2-14.14.1]:\@\\]@\@\|\~d[[ͻ[$@[t[r@[qr[^[!@[@Z@ZJ@Z2@ZH@ZZ Z}@ZxG@Zp^@Zp^@Ze@ZKt@Z1@Z/Z@Y@Y@YYܶ@YdY@Y@YY@Y@Y@YW@Y@YJYYw2Yp@YJ_YA%@Y.@Y, @Y, @Y$$@Y"XۡX@XWw@W@W@Ws@Wk@Wj}WYZ@WL+@W3W0{WW V@V@V޾Vm@VIV@VŲ@V`VVV@VLh@V.V$@VVZV VUYU|@UAUȒ@UU@UU4@UUv@U%@U/@U:T@TPTgTܕTء@TO@Andreas Schwab Andreas Schwab Andreas Schwab Andreas Schwab Andreas Schwab Andreas Schwab Andreas Schwab schwab@suse.deschwab@suse.dematz@suse.comschwab@suse.deschwab@suse.deschwab@suse.deschwab@suse.deschwab@suse.deschwab@suse.dematz@suse.comschwab@suse.deschwab@suse.deschwab@suse.deschwab@suse.deschwab@suse.dematz@suse.deschwab@suse.deschwab@suse.deschwab@suse.deschwab@suse.deschwab@suse.deschwab@suse.deschwab@suse.deschwab@suse.deschwab@suse.deschwab@suse.deschwab@suse.deschwab@suse.deschwab@suse.deschwab@suse.deschwab@suse.deschwab@suse.deschwab@suse.deschwab@suse.deschwab@suse.deschwab@suse.deschwab@suse.deschwab@suse.deschwab@suse.deschwab@suse.deschwab@suse.deschwab@suse.deschwab@suse.deschwab@suse.deschwab@suse.deschwab@suse.deschwab@suse.deschwab@suse.deschwab@suse.deschwab@suse.deschwab@suse.deschwab@suse.deschwab@suse.deschwab@suse.deschwab@suse.deschwab@suse.deschwab@suse.deschwab@suse.deschwab@suse.deschwab@suse.deschwab@suse.dejslaby@suse.comschwab@suse.deschwab@suse.deschwab@suse.deidonmez@suse.comschwab@suse.deschwab@suse.deschwab@suse.deschwab@suse.deschwab@suse.deschwab@suse.deschwab@suse.deschwab@suse.deschwab@suse.deschwab@suse.deschwab@suse.deschwab@suse.denormand@linux.vnet.ibm.comschwab@suse.deschwab@suse.deschwab@suse.deschwab@suse.deschwab@suse.deschwab@suse.deschwab@suse.deschwab@suse.demeissner@suse.comschwab@suse.deschwab@suse.demgorman@suse.comschwab@suse.deschwab@suse.deschwab@suse.deschwab@suse.deschwab@suse.deschwab@suse.deschwab@suse.deschwab@suse.de- regex-parse-reg-exp.patch: ERE '0|()0|\1|0' causes regexec undefined behavior (CVE-2009-5155, bsc#1127223, BZ #18986) - regex-read-overrun.patch: regex: fix read overrun (CVE-2019-9169, bsc#1127308, BZ #24114)- crt-nocompress-debug-sections.patch: Don't compress debug sections in crt*.o files (bsc#1123710)- ldconfig-concurrency.patch: Avoid concurrency problem in ldconfig (bsc#1117993, BZ #23973)- force-elision-race.patch: Fix race in pthread_mutex_lock while promoting to PTHREAD_MUTEX_ELISION_NP (bsc#1131330, BZ #23275)- japanese-era-name-may-2019.patch: ja_JP locale: Add entry for the new Japanese era (bsc#1100396, BZ #22964)- pthread-mutex-trylock-barrier.patch: pthread_mutex_trylock does not use the correct order of instructions while maintaining the robust mutex list due to missing compiler barriers (bsc#1130045, BZ #24180) - getaddrinfo-parse-ipv4-address.patch: getaddrinfo: Fully parse IPv4 address strings (CVE-2016-10739, bsc#1122729, BZ #20018)- mman-map-sync.patch: Add MAP_SYNC from Linux 4.15 (bsc#1126590) - mman-linux-map-shared-validate.patch: Add MAP_SHARED_VALIDATE from Linux 4.15 (bsc#1126590) - nptl-setxid-error.patch: nptl: Preserve error in setxid thread broadcast in coredumps (bsc#1063675, BZ #22153)- x86-haswell-string-flags.patch: Fix Haswell CPU string flags (bsc#1114984, BZ #23709) - pthread-cond-broadcast-waiters-after-spinning.patch: Fix waiters-after-spinning case (bsc#1114993, BZ #23538)- absolute-symbols.patch: Don't relocate absolute symbols (bsc#1112570, BZ [#19818])- glibc-fix-aarch64-build.diff: Fix build on aarch64 with binutils newer than 2.30.- Add glibc-locale-base subpackage containing only C, C.UTF-8 and en_US.UTF-8 locales (fate#326551)- aarch64-hwcap-atomics.patch: aarch64: add HWCAP_ATOMICS to HWCAP_IMPORTANT (fate#325962)- math-remove-slow-path.patch: Remove slow paths from math routines (fate#325815, fate#325879, fate#325880, fate#325881, fate#325882)- localtime-2039.patch: Fix year 2039 bug for localtime with 64-bit time_t (bsc#1102526, BZ #22639)- i386-memmove-sse2-unaligned.patch: Fix SSE2 memmove issue when crossing 2GB boundary (CVE-2017-18269, bnc#1094150, BZ #22644) - realpath-ssize-max-overflow.patch: Fix overflow in path length computation (CVE-2018-11236, bsc#1094161, BZ #22786) - glibc-fix-avx512-mempcpy.patch: replace with upstream version- Use %license also for COPYING and COPYING.LIB (bsc#1082318)- Add glibc-fix-avx512-mempcpy.patch as quick fix for mempcpy buffer overwrite in memmove-avx512-no-vzeroupper.S for Knights Landing CPUs (CVE-2018-11237, bnc#1094154, bnc#1092877, BZ #23196)- Readd nis to netgroup and automount nss config (bsc#1088860)- res-send-enomem.patch: Fix crash in resolver on memory allocation failure (bsc#1086690, BZ #23005)- Use %license (bsc#1082318)- stack-guard-size-accounting.patch: Fix stack guard size accounting (bsc#1074208, BZ #22637) - libgcc-rtld-now.patch: Open libgcc.so with RTLD_NOW during pthread_cancel (bsc#1074208, BZ #22636)- Mark source0 as nosource in non-main source rpms- Add systemtap-headers to BuildRequires. - Add --enable-systemtap to configure arguments. (fate#324969, bsc#1073636)- memalign-overflow.patch: Fix integer overflows in internal memalign and malloc functions (CVE-2018-6485, CVE-2018-6551, bsc#1079036, BZ #22343, BZ #22774)- fix-locking-in-_IO_cleanup.patch: Skip locked files during exit (bsc#1070491, BZ #15142)- Avoid duplicate source rpm- getcwd-absolute.patch: make getcwd(3) fail if it cannot obtain an absolute path (CVE-2018-1000001, bsc#1074293, BZ #22679)- dl-init-paths-overflow.patch: Count components of the expanded path in _dl_init_path (CVE-2017-1000408, CVE-2017-1000409, bsc#1071319, BZ [#22607], BZ #22627) - fillin-rpath-empty-tokens.patch: Check for empty tokens before dynamic string token expansion (CVE-2017-16997, bsc#1073231, BZ #22625)- tst-tlsopt-powerpc.patch: fix tst-tlsopt-powerpc (bcn#1070419) - powerpc-hwcap-bits.patch: Update HWCAP for powerpc (bnc#1070420) - malloc-tcache-check-overflow.patch: Fix integer overflow in malloc when tcache is enabled (CVE-2017-17426, bnc#1071479, BZ #22375)- Add _multibuild- glob64-s390.patch: no compat glob64 on s390 - noversion.tar.bz2: remove unused source- x86-64-dl-platform.patch: Don't set GLRO(dl_platform) to NULL (BZ #22299)- spawni-assert.patch: Fix improper assert in Linux posix_spawn (BZ [#22273])- math-c++-compat.patch: Add more C++ compatibility (BZ #22296) - malloc-tcache-leak.patch: Fix tcache leak after thread destruction (BZ [#22111]) - falkor-memcpy-memmove.patch: Optimized implementation of memcpy/memmove for Qualcomm Falkor - aarch64-cpu-features.patch: Fix glibc.tune.cpu tunable handling - nss-files-large-buffers.patch: Avoid large buffers with many host addresses (BZ #22078) - sysconf-uio-maxiov.patch: Fix missing definition of UIO_MAXIOV (BZ [#22321]) - glob-tilde-overflow.patch: Fix buffer overflows with GLOB_TILDE (CVE-2017-15670, CVE-2017-15671, CVE-2017-15804, bsc#1064569. bsc#1064580, bsc#1064583, BZ #22320, BZ #22325, BZ #22332) - dl-runtime-resolve-xsave.patch: Use fxsave/xsave/xsavec in _dl_runtime_resolve (BZ #21265)- nscd-libnsl.patch: Remove reference to libnsl from nscd (bsc#1062244)- Drop glibc-obsolete - glibc-2.3.90-noversion.diff: remove - reinitialize-dl_load_write_lock.patch: remove- nss-compat.patch: Move nss_compat from nis to nss subdir and install it unconditionally - nsswitch.conf: switch back to compat for passwd, group, shadow- assert-pedantic.patch: Suppress pedantic warning caused by statement expression (BZ #21242, BZ #21972) - math-c++-compat.patch: Add more C++ compatibility (BZ #22235) - getaddrinfo-errno.patch: Fix errno and h_errno handling in getaddrinfo (BZ #21915, BZ #21922) - resolv-conf-oom.patch: Fix memory handling in OOM situation during resolv.conf parsing (BZ #22095, BZ #22096) - dynarray-allocation.patch: Fix initial size of dynarray allocation and set errno on overflow error - nearbyint-inexact.patch: Avoid spurious inexact in nearbyint (BZ #22225)- math-c++-compat.patch: add more C++ compatibility (BZ #22146)- Remove rpcsvc/yppasswd.* from glibc-devel - ld-so-hwcap-x86-64.patch: add x86_64 to hwcap (bsc#1056606, BZ #22093)- eh-frame-zero-terminator.patch: Properly terminate .eh_frame (BZ #22051)- Disable obsolete libnsl and NIS support - remove-nss-nis-compat.patch: remove nis and compat from default NSS configs - nsswitch.conf: Likewise- math-c++-compat.patch: Do not use __builtin_types_compatible_p in C++ mode (BZ #21930)- Add iconvconfig to baselibs.conf (bsc#1051042)- resolv-context-leak.patch: Fix leaks of resolver contexts - dl-runtime-resolve-opt-avx512f.patch: Use _dl_runtime_resolve_opt only with AVX512F (BZ #21871) - libpthread-compat-wrappers.patch: Don't use IFUNC resolver for longjmp or system in libpthread (BZ #21041)- Update to glibc 2.26 * A per-thread cache has been added to malloc * Unicode 10.0.0 Support * Improvements to the DNS stub resolver * New function reallocarray, which resizes an allocated block (like realloc) to the product of two sizes, with a guaranteed clean failure upon integer overflow in the multiplication * New wrappers for the Linux-specific system calls preadv2 and pwritev2 * posix_spawnattr_setflags now supports the flag POSIX_SPAWN_SETSID, to create a new session ID for the spawned process * errno.h is now safe to use from C-preprocessed assembly language on all supported operating systems * On ia64, powerpc64le, x86-32, and x86-64, the math library now implements 128-bit floating point as defined by ISO/IEC/IEEE 60559:2011 (IEEE 754-2008) and ISO/IEC TS 18661-3:2015 * The synchronization that pthread_spin_unlock performs has been changed to now be equivalent to a C11 atomic store with release memory order to the spin lock's memory location * The DNS stub resolver no longer performs EDNS fallback * res_mkquery and res_nmkquery no longer support the IQUERY opcode * The _res_opcodes variable has been removed from libresolv * no longer includes inline versions of any string functions, as this kind of optimization is better done by the compiler * The nonstandard header has been removed * The obsolete header has been removed * The obsolete signal constant SIGUNUSED is no longer defined by * The obsolete function cfree has been removed * The stack_t type no longer has the name struct sigaltstack * The ucontext_t type no longer has the name struct ucontext * On S/390 GNU/Linux, the constants defined by have been synced with the kernel * Linux kernel 3.2 or later is required at runtime, on all architectures supported by that kernel * The DNS stub resolver limits the advertised UDP buffer size to 1200 bytes, to avoid fragmentation-based spoofing attacks (CVE-2017-12132) * LD_LIBRARY_PATH is now ignored in binaries running in privileged AT_SECURE mode to guard against local privilege escalation attacks (CVE-2017-1000366) * Avoid printing a backtrace from the __stack_chk_fail function since it is called on a corrupt stack and a backtrace is unreliable on a corrupt stack (CVE-2010-3192) * A use-after-free vulnerability in clntudp_call in the Sun RPC system has been fixed (CVE-2017-12133) * fate#322258, fate#321513, fate#322453 - fts-symbol-redirect.patch, glibc-resolv-reload.diff, glibc-2.2-sunrpc.diff, i686-memchr-sse.patch, ld-hwcap-mask-suid.patch, ld-library-path-suid.patch, sunrpc-use-after-free.patch, test-math-vector-sincos-aliasing.patch, tunables-bigendian.patch: Removed- Fix RPM group- s390-elision-enable-envvar.patch: enable TLE only if GLIBC_ELISION_ENABLE=yes is defined (fate#322271)- ld-hwcap-mask-suid.patch: Ignore and remove LD_HWCAP_MASK for AT_SECURE programs (BZ #21209) - ld-library-path-suid.patch: Completely ignore LD_LIBRARY_PATH for AT_SECURE=1 programs (CVE-2017-1000366, bsc#1039357, BZ #21624)- Remove glibc-cpusetsize.diff, no longer useful- fts-symbol-redirect.patch: Fix symbol redirect for fts_set (bsc#1041123, BZ #21289)- test-math-vector-sincos-aliasing.patch: Fix test-math-vector-sincos.h aliasing- add-locales.patch: renamed from glibc-2.3.locales.diff.bz2, drop en_BE locales (bsc#1039502)- Remove glibc-testsuite.patch, no longer relevant- Use multibuild feature - Remove obsolete check-build.sh - glibc.rpmlintrc: remove obsolete entries - Use %tmpfiles_create in nscd postin- i686-memchr-sse.patch: Fix i686 memchr overflow calculation (bsc#1031021, BZ #21182) - sunrpc-use-after-free.patch: Avoid use-after-free read access in clntudp_call (BZ #21115) - Build testsuite with gdb and python-pexpect to enable more tests- tunables-bigendian.patch: Fix getting tunable values on big-endian (BZ [#21109])- Update to glibc 2.25 * The feature test macro __STDC_WANT_LIB_EXT2__, from ISO/IEC TR 24731-2:2010, is supported to enable declarations of functions from that TR. * The feature test macro __STDC_WANT_IEC_60559_BFP_EXT__, from ISO/IEC TS 18661-1:2014, is supported to enable declarations of functions and macros from that TS. * The feature test macro __STDC_WANT_IEC_60559_FUNCS_EXT__, from ISO/IEC TS 18661-4:2015, is supported to enable declarations of functions and macros from that TS. * The nonstandard feature selection macros _REENTRANT and _THREAD_SAFE are now treated as compatibility synonyms for _POSIX_C_SOURCE=199506L. * The inclusion of by is deprecated. * New features from TS 18661-1:2014 are added to libm: the fesetexcept, fetestexceptflag, fegetmode and fesetmode functions, the femode_t type and the FE_DFL_MODE and FE_SNANS_ALWAYS_SIGNAL macros. * Integer width macros from TS 18661-1:2014 are added to : CHAR_WIDTH, SCHAR_WIDTH, UCHAR_WIDTH, SHRT_WIDTH, USHRT_WIDTH, INT_WIDTH, UINT_WIDTH, LONG_WIDTH, ULONG_WIDTH, LLONG_WIDTH, ULLONG_WIDTH; and to : INT8_WIDTH, UINT8_WIDTH, INT16_WIDTH, UINT16_WIDTH, INT32_WIDTH, UINT32_WIDTH, INT64_WIDTH, UINT64_WIDTH, INT_LEAST8_WIDTH, UINT_LEAST8_WIDTH, INT_LEAST16_WIDTH, UINT_LEAST16_WIDTH, INT_LEAST32_WIDTH, UINT_LEAST32_WIDTH, INT_LEAST64_WIDTH, UINT_LEAST64_WIDTH, INT_FAST8_WIDTH, UINT_FAST8_WIDTH, INT_FAST16_WIDTH, UINT_FAST16_WIDTH, INT_FAST32_WIDTH, UINT_FAST32_WIDTH, INT_FAST64_WIDTH, UINT_FAST64_WIDTH, INTPTR_WIDTH, UINTPTR_WIDTH, INTMAX_WIDTH, UINTMAX_WIDTH, PTRDIFF_WIDTH, SIG_ATOMIC_WIDTH, SIZE_WIDTH, WCHAR_WIDTH, WINT_WIDTH. * New features are added from TS 18661-1:2014: - Signaling NaN macros: SNANF, SNAN, SNANL. - Nearest integer functions: roundeven, roundevenf, roundevenl, fromfp, fromfpf, fromfpl, ufromfp, ufromfpf, ufromfpl, fromfpx, fromfpxf, fromfpxl, ufromfpx, ufromfpxf, ufromfpxl. - llogb functions: the llogb, llogbf and llogbl functions, and the FP_LLOGB0 and FP_LLOGBNAN macros. - Max-min magnitude functions: fmaxmag, fmaxmagf, fmaxmagl, fminmag, fminmagf, fminmagl. - Comparison macros: iseqsig. - Classification macros: iscanonical, issubnormal, iszero. - Total order functions: totalorder, totalorderf, totalorderl, totalordermag, totalordermagf, totalordermagl. - Canonicalize functions: canonicalize, canonicalizef, canonicalizel. - NaN functions: getpayload, getpayloadf, getpayloadl, setpayload, setpayloadf, setpayloadl, setpayloadsig, setpayloadsigf, setpayloadsigl. * The functions strfromd, strfromf, and strfroml, from ISO/IEC TS 18661-1:2014, are added to libc. * Most of glibc can now be built with the stack smashing protector enabled. * The function explicit_bzero, from OpenBSD, has been added to libc. * On ColdFire, MicroBlaze, Nios II and SH3, the float_t type is now defined to float instead of double. * On x86_64, when compiling with -mfpmath=387 or -mfpmath=sse+387, the float_t and double_t types are now defined to long double instead of float and double. * The getentropy and getrandom functions, and the header file have been added. * The buffer size for byte-oriented stdio streams is now limited to 8192 bytes by default. * The header now includes the header. * The malloc_get_state and malloc_set_state functions have been removed. * The “ip6-dotint” and “no-ip6-dotint” resolver options, and the corresponding RES_NOIP6DOTINT flag from have been removed. * The "ip6-bytestring" resolver option and the corresponding RES_USEBSTRING flag from have been removed. * The flags RES_AAONLY, RES_PRIMARY, RES_NOCHECKNAME, RES_KEEPTSIG, RES_BLAST defined in the header file have been deprecated. * The "inet6" option in /etc/resolv.conf and the RES_USE_INET6 flag for _res.flags are deprecated. * DNSSEC-related declarations and definitions have been removed from the header file, and libresolv will no longer attempt to decode the data part of DNSSEC record types. * The resource record type classification macros ns_t_qt_p, ns_t_mrr_p, ns_t_rr_p, ns_t_udp_p, ns_t_xfr_p have been removed from the header file because the distinction between RR types and meta-RR types is not officially standardized, subject to revision, and thus not suitable for encoding in a macro. * The types res_sendhookact, res_send_qhook, re_send_rhook, and the qhook and rhook members of the res_state type in have been removed. * For multi-arch support it is recommended to use a GCC which has been built with support for GNU indirect functions. * GDB pretty printers have been added for mutex and condition variable structures in POSIX Threads. * Tunables feature added to allow tweaking of the runtime for an application program. * A new version of condition variables functions have been implemented in the NPTL implementation of POSIX Threads to provide stronger ordering guarantees. * A new version of pthread_rwlock functions have been implemented to use a more scalable algorithm primarily through not using a critical section anymore to make state changes. * On ARM EABI (32-bit), generating a backtrace for execution contexts which have been created with makecontext could fail to terminate due to a missing .cantunwind annotation. (CVE-2016-6323) * The DNS stub resolver functions would crash due to a NULL pointer dereference when processing a query with a valid DNS question type which was used internally in the implementation. (CVE-2015-5180) - Enable stack protector if part of %optflags - startcontext-cantunwind.patch: Removed - cpuid-assertion.patch: Removed- cpuid-assertion.patch: Don't assert on older Intel CPUs (BZ #20647)- glibc-2.3.3-nscd-db-path.diff: Move persistent nscd databases to /var/lib/nscd - glibc-2.3.90-langpackdir.diff: simplify- Update to glibc 2.24 * The minimum Linux kernel version that this version of the GNU C Library can be used with is 3.2 * The pap_AN locale has been deleted * The readdir_r and readdir64_r functions have been deprecated * The type `union wait' has been removed * A new NSS action is added to facilitate large distributed system administration * The deprecated __malloc_initialize_hook variable has been removed from the API * The long unused localedef --old-style option has been removed * nextupl, nextup, nextupf, nextdownl, nextdown and nextdownf are added to libm * An unnecessary stack copy in _nss_dns_getnetbyname_r was removed (CVE-2016-3075) * Previously, getaddrinfo copied large amounts of address data to the stack, even after the fix for CVE-2013-4458 has been applied, potentially resulting in a stack overflow. getaddrinfo now uses a heap allocation instead (CVE-2016-3706) * The glob function suffered from a stack-based buffer overflow when it was called with the GLOB_ALTDIRFUNC flag and encountered a long file name (CVE-2016-1234) * The Sun RPC UDP client could exhaust all available stack space when flooded with crafted ICMP and UDP messages (CVE-2016-4429) * The IPv6 name server management code in libresolv could result in a memory leak for each thread which is created, performs a failing naming lookup, and exits (CVE-2016-5417) - startcontext-cantunwind.patch: mark __startcontext as .cantunwind (bsc#974800, BZ #20435) - Removed patches: * 0001-Updated-translations-for-2.23.patch * 0002-Regenerate-libc.pot-for-2.23.patch * 0003-Regenerated-configure-scripts.patch * 0004-x86_64-Set-DL_RUNTIME_UNALIGNED_VEC_SIZE-to-8.patch * 0005-Add-fts64_-to-sysdeps-arm-nacl-libc.abilist.patch * 0006-Don-t-use-long-double-math-functions-if-NO_LONG_DOUB.patch * 0007-NEWS-2.23-Fix-typo-in-bug-19048-text.patch * 0008-Update-NEWS.patch * 0009-sln-use-stat64.patch * 0010-Add-sys-auxv.h-wrapper-to-include-sys.patch * 0011-mips-terminate-the-FDE-before-the-return-trampoline-.patch * 0012-Use-HAS_ARCH_FEATURE-with-Fast_Rep_String.patch * 0013-Mention-BZ-19762-in-NEWS.patch * 0014-Define-_HAVE_STRING_ARCH_mempcpy-to-1-for-x86.patch * 0015-Or-bit_Prefer_MAP_32BIT_EXEC-in-EXTRA_LD_ENVVARS.patch * 0016-Fix-resource-leak-in-resolver-bug-19257.patch * 0017-math-don-t-clobber-old-libm.so-on-install-BZ-19822.patch * 0018-resolv-Always-set-resplen2-out-parameter-in-send_dg-.patch * 0019-S390-Save-and-restore-fprs-vrs-while-resolving-symbo.patch * 0020-S390-Extend-structs-La_s390_regs-La_s390_retval-with.patch * 0021-CVE-2016-3075-Stack-overflow-in-_nss_dns_getnetbynam.patch * 0022-configure-fix-test-usage.patch * 0023-Suppress-GCC-6-warning-about-ambiguous-else-with-Wpa.patch * 0024-nss_db-Propagate-ERANGE-error-if-parse_line-fails-BZ.patch * 0025-getnameinfo-Do-not-preserve-errno.patch * 0026-getnameinfo-Refactor-and-fix-memory-leak-BZ-19642.patch * 0027-getnameinfo-Reduce-line-length-and-add-missing-comme.patch * 0028-getnameinfo-Avoid-calling-strnlen-on-uninitialized-b.patch * 0029-getnameinfo-Return-EAI_OVERFLOW-in-more-cases-BZ-197.patch * 0030-hesiod-Remove-RCS-keywords.patch * 0031-hesiod-Always-use-thread-local-resolver-state-BZ-195.patch * 0032-hesiod-Avoid-heap-overflow-in-get_txt_records-BZ-200.patch * 0033-malloc-Remove-NO_THREADS.patch * 0034-Fix-malloc-threaded-tests-link-on-non-Linux.patch * 0035-malloc-Run-fork-handler-as-late-as-possible-BZ-19431.patch * 0036-malloc-Remove-malloc-hooks-from-fork-handler.patch * 0037-malloc-Add-missing-internal_function-attributes-on-f.patch * 0038-nss_dns-Fix-assertion-failure-in-_nss_dns_getcanonna.patch * 0039-nss_dns-Validate-RDATA-length-against-packet-length-.patch * 0040-resolv-nss_dns-Remove-remaining-syslog-logging-BZ-19.patch * 0041-nss_dns-Check-address-length-before-creating-addrinf.patch * 0042-nss_dns-Skip-over-non-PTR-records-in-the-netent-code.patch * 0043-resolv-Always-set-resplen2-out-parameter-in-send_vc-.patch * 0044-tst-audit4-tst-audit10-Compile-AVX-AVX-512-code-sepa.patch * 0045-Fix-tst-audit10-build-when-mavx512f-is-not-supported.patch * 0046-tst-audit10-Fix-compilation-on-compilers-without-bit.patch * 0047-strfmon_l-Use-specified-locale-for-number-formatting.patch * 0048-glob-Simplify-the-interface-for-the-GLOB_ALTDIRFUNC-.patch * 0049-CVE-2016-1234-glob-Do-not-copy-d_name-field-of-struc.patch * 0050-ldconfig-Do-not-remove-stale-symbolic-links-with-X-B.patch * 0051-Report-dlsym-dlvsym-lookup-errors-using-dlerror-BZ-1.patch * 0052-Fix-tst-dlsym-error-build.patch * 0053-Remove-trailing-newline-from-date_fmt-in-Serbian-loc.patch * 0054-Revert-Report-dlsym-dlvsym-lookup-errors-using-dlerr.patch * 0055-CVE-2016-3706-getaddrinfo-stack-overflow-in-hostent-.patch * 0056-Fix-strfmon_l-Use-specified-locale-for-number-format.patch * clntudp-call-alloca.patch * glibc-memset-nontemporal.diff * nis-initgroups-status.patch * nscd-gc-crash.patch * robust-mutex-deadlock.patch * strncat-avoid-array-bounds-warning.patch- strncat-avoid-array-bounds-warning.patch: Avoid array-bounds warning for stncat on i586 (BZ #20260) - Update glibc.keyring - Unset MALLOC_CHECK_ during testsuite run- nsswitch.conf: Add fallback to files for passwd and group to prepare for libnsl removal.- nis-initgroups-status.patch: Return proper status from _nss_nis_initgroups_dyn (bsc#984269, BZ #20262) - robust-mutex-deadlock.patch: Fix generic __lll_robust_timedlock_wait to check for timeout (bsc#985170, BZ #20263)- nscd-gc-crash.patch: Fix nscd assertion failure in gc (bsc#965699, BZ [#19755])- clntudp-call-alloca.patch: do not use alloca in clntudp_call (CVE-2016-4429, bsc#980854, BZ #20112)- Import patches from 2.23 branch 0001-Updated-translations-for-2.23.patch 0002-Regenerate-libc.pot-for-2.23.patch 0003-Regenerated-configure-scripts.patch 0004-x86_64-Set-DL_RUNTIME_UNALIGNED_VEC_SIZE-to-8.patch 0005-Add-fts64_-to-sysdeps-arm-nacl-libc.abilist.patch 0006-Don-t-use-long-double-math-functions-if-NO_LONG_DOUB.patch 0007-NEWS-2.23-Fix-typo-in-bug-19048-text.patch 0008-Update-NEWS.patch 0009-sln-use-stat64.patch 0010-Add-sys-auxv.h-wrapper-to-include-sys.patch 0011-mips-terminate-the-FDE-before-the-return-trampoline-.patch 0012-Use-HAS_ARCH_FEATURE-with-Fast_Rep_String.patch 0013-Mention-BZ-19762-in-NEWS.patch 0014-Define-_HAVE_STRING_ARCH_mempcpy-to-1-for-x86.patch 0015-Or-bit_Prefer_MAP_32BIT_EXEC-in-EXTRA_LD_ENVVARS.patch 0016-Fix-resource-leak-in-resolver-bug-19257.patch 0017-math-don-t-clobber-old-libm.so-on-install-BZ-19822.patch 0018-resolv-Always-set-resplen2-out-parameter-in-send_dg-.patch 0019-S390-Save-and-restore-fprs-vrs-while-resolving-symbo.patch 0020-S390-Extend-structs-La_s390_regs-La_s390_retval-with.patch 0021-CVE-2016-3075-Stack-overflow-in-_nss_dns_getnetbynam.patch 0022-configure-fix-test-usage.patch 0023-Suppress-GCC-6-warning-about-ambiguous-else-with-Wpa.patch 0024-nss_db-Propagate-ERANGE-error-if-parse_line-fails-BZ.patch 0025-getnameinfo-Do-not-preserve-errno.patch 0026-getnameinfo-Refactor-and-fix-memory-leak-BZ-19642.patch 0027-getnameinfo-Reduce-line-length-and-add-missing-comme.patch 0028-getnameinfo-Avoid-calling-strnlen-on-uninitialized-b.patch 0029-getnameinfo-Return-EAI_OVERFLOW-in-more-cases-BZ-197.patch 0030-hesiod-Remove-RCS-keywords.patch 0031-hesiod-Always-use-thread-local-resolver-state-BZ-195.patch 0032-hesiod-Avoid-heap-overflow-in-get_txt_records-BZ-200.patch 0033-malloc-Remove-NO_THREADS.patch 0034-Fix-malloc-threaded-tests-link-on-non-Linux.patch 0035-malloc-Run-fork-handler-as-late-as-possible-BZ-19431.patch 0036-malloc-Remove-malloc-hooks-from-fork-handler.patch 0037-malloc-Add-missing-internal_function-attributes-on-f.patch 0038-nss_dns-Fix-assertion-failure-in-_nss_dns_getcanonna.patch 0039-nss_dns-Validate-RDATA-length-against-packet-length-.patch 0040-resolv-nss_dns-Remove-remaining-syslog-logging-BZ-19.patch 0041-nss_dns-Check-address-length-before-creating-addrinf.patch 0042-nss_dns-Skip-over-non-PTR-records-in-the-netent-code.patch 0043-resolv-Always-set-resplen2-out-parameter-in-send_vc-.patch 0044-tst-audit4-tst-audit10-Compile-AVX-AVX-512-code-sepa.patch 0045-Fix-tst-audit10-build-when-mavx512f-is-not-supported.patch 0046-tst-audit10-Fix-compilation-on-compilers-without-bit.patch 0047-strfmon_l-Use-specified-locale-for-number-formatting.patch 0048-glob-Simplify-the-interface-for-the-GLOB_ALTDIRFUNC-.patch 0049-CVE-2016-1234-glob-Do-not-copy-d_name-field-of-struc.patch 0050-ldconfig-Do-not-remove-stale-symbolic-links-with-X-B.patch 0051-Report-dlsym-dlvsym-lookup-errors-using-dlerror-BZ-1.patch 0052-Fix-tst-dlsym-error-build.patch 0053-Remove-trailing-newline-from-date_fmt-in-Serbian-loc.patch 0054-Revert-Report-dlsym-dlvsym-lookup-errors-using-dlerr.patch 0055-CVE-2016-3706-getaddrinfo-stack-overflow-in-hostent-.patch 0056-Fix-strfmon_l-Use-specified-locale-for-number-format.patch - CVE-2016-3075 CVE-2016-1234 CVE-2016-3706 bsc#973164 bsc#969727 - resolv-mem-leak.patch: renamed to 0016-Fix-resource-leak-in-resolver-bug-19257.patch - no-long-double.patch: renamed to 0006-Don-t-use-long-double-math-functions-if-NO_LONG_DOUB.patch - glibc-gcc6.patch: renamed to 0023-Suppress-GCC-6-warning-about-ambiguous-else-with-Wpa.patch- glibc-c-utf8-locale.patch: fix bad standard in LC_IDENTIFICATION categories - glibc-2.3.locales.diff.bz2: likewise- glibc-gcc6.patch: Suppress GCC 6 warning about ambiguous 'else' with - Wparentheses- Add compatibility symlinks for LSB 3.0 (fate#318933)- powerpc-elision-enable-envvar.patch: enable TLE only if GLIBC_ELISION_ENABLE=yes is defined (bsc#967594, fate#318236)- ldd-system-interp.patch: Restore warning about execution permission, it is still needed for noexec mounts (bsc#915985)- Add C.UTF-8 locale (see https://sourceware.org/glibc/wiki/Proposals/C.UTF-8) and rh#902094 . Added with glibc-c-utf8-locale.patch. - Add glibc-disable-gettext-for-c-utf8.patch to disable gettext for C.UTF-8 same as C locale.- Move %install_info_delete to %preun - crypt_blowfish-1.3.tar.gz.sign: Remove, the sign key is no longer acceptable- no-long-double.patch: Don't use long double functions if NO_LONG_DOUBLE- Update to glibc 2.23 release. * Unicode 8.0.0 Support * sched_setaffinity, pthread_setaffinity_np no longer attempt to guess the kernel-internal CPU set size * The fts.h header can now be used with -D_FILE_OFFSET_BITS=64 * getaddrinfo now detects certain invalid responses on an internal netlink socket * A defect in the malloc implementation, present since glibc 2.15 (2012) or glibc 2.10 via --enable-experimental-malloc (2009), could result in the unnecessary serialization of memory allocation requests across threads * The obsolete header has been removed * The obsolete functions bdflush, create_module, get_kernel_syms, query_module and uselib are no longer available to newly linked binaries * Optimized string, wcsmbs and memory functions for IBM z13. * Newly linked programs that define a variable called signgam will no longer have it set by the lgamma, lgammaf and lgammal functions - Removed patches: * dont-remove-nodelete-flag.patch * openat64-readd-o-largefile.patch * mntent-blank-line.patch * opendir-o-directory-check.patch * strcoll-remove-strdiff-opt.patch * ld-pointer-guard.patch * tls-dtor-list-mangling.patch * powerpc-lock-elision-race.patch * prelink-elf-rtype-class.patch * vector-finite-math-aliases.patch * powerpc-elision-adapt-param.patch * catopen-unbound-alloca.patch * strftime-range-check.patch * hcreate-overflow-check.patch * errorcheck-mutex-no-elision.patch * refactor-nan-parsing.patch * send-dg-buffer-overflow.patch * isinf-cxx11-conflict.patch * ibm93x-redundant-shift-si.patch * iconv-reset-input-buffer.patch * tzset-tzname.patch * static-dlopen.patch- isinf-cxx11-conflict.patch: Fix isinf/isnan declaration conflict with C++11 (bsc#963700, BZ #19439)- tls-dtor-list-mangling.patch: Harden tls_dtor_list with pointer mangling (BZ #19018) - prelink-elf-rtype-class.patch: Keep only ELF_RTYPE_CLASS_{PLT|COPY} bits for prelink (BZ #19178) - vector-finite-math-aliases.patch: Better workaround for aliases of * _finite symbols in vector math library (BZ# 19058) - powerpc-elision-adapt-param.patch: powerpc: Fix usage of elision transient failure adapt param (BZ #19174) - catopen-unbound-alloca.patch: Fix unbound alloca in catopen (CVE-2015-8779, bsc#962739, BZ #17905) - strftime-range-check.patch: Add range check on time fields (CVE-2015-8776, bsc#962736, BZ #18985) - hcreate-overflow-check.patch: Handle overflow in hcreate (CVE-2015-8778, bsc#962737, BZ #18240) - errorcheck-mutex-no-elision.patch: Don't do lock elision on an error checking mutex (bsc#956716, BZ #17514) - refactor-nan-parsing.patch: Refactor strtod parsing of NaN payloads (CVE-2014-9761, bsc#962738, BZ #16962) - send-dg-buffer-overflow.patch: Fix getaddrinfo stack-based buffer overflow (CVE-2015-7547, bsc#961721, BZ #18665) - powerpc-lock-elision-race.patch: renamed from 0001-powerpc-Fix-a-race-condition-when-eliding-a-lock-20150730.patch- Add audit-devel and libcap-devel to BuildRequires, for use by nscd- reinitialize-dl_load_write_lock.patch: Reinitialize dl_load_write_lock on fork (bsc#958315, BZ #19282)- resolv-mem-leak.patch: Fix resource leak in resolver (bsc#955647, BZ #19257) - tzset-tzname.patch: Force rereading TZDEFRULES after it was used to set DST rules only (BZ #19253)- glibc-2.3.90-noversion.diff: use stat64- ld-pointer-guard.patch: Always enable pointer guard (CVE-2015-8777, bsc#950944, BZ #18928)- strcoll-remove-strdiff-opt.patch: Remove incorrect STRDIFF-based optimization (BZ #18589)- iconv-reset-input-buffer.patch: Fix iconv buffer handling with IGNORE error handler (BZ #18830)- new patch [BZ #18743] PowerPC: Fix a race condition when eliding a lock 0001-powerpc-Fix-a-race-condition-when-eliding-a-lock-20150730.patch- nss-files-long-lines-2.patch: Properly reread entry after failure in nss_files getent function (bsc#945779, BZ #18991)- fnmatch-collating-elements.patch: Fix fnmatch handling of collating elements (BZ #17396, BZ #16976)- opendir-o-directory-check.patch: Fix opendir inverted o_directory_works test - static-dlopen.patch: Static dlopen default library search path fix (bsc#937853)- mntent-blank-line.patch: Fix memory corruption w/blank lines- dont-remove-nodelete-flag.patch: Don't remove DF_1_NODELETE flag from all loaded objects on failed dlopen - openat64-readd-o-largefile.patch: Readd O_LARGEFILE flag for openat64- Update to glibc 2.22 release. * Cache information can be queried via sysconf() function on s390 * A buffer overflow in gethostbyname_r and related functions performing DNS requests has been fixed. (CVE-2015-1781) * The time zone file parser has been made more robust against crafted time zone files * A powerpc and powerpc64 optimization for TLS, similar to TLS descriptors for LD and GD on x86 and x86-64, has been implemented. * Character encoding and ctype tables were updated to Unicode 7.0.0 * Added vector math library named libmvec * A new fmemopen implementation has been added with the goal of POSIX compliance. * The header is deprecated, and will be removed in a future release. * bsc#905313 bsc#920338 bsc#927080 bsc#928723 bsc#931480 bsc#939211 bsc#940195 bsc#940332 bsc#944494 bsc#968787 - Patches from upstream removed * htm-tabort.patch * o-tmpfile.patch * memcpy-chk-non-SSE2.patch * pthread-mutexattr-gettype-kind.patch * powerpc-software-sqrt.patch * static-tls-dtv-limit.patch * threaded-trim-threshold.patch * resolv-nameserver-handling.patch * nss-separate-state-getXXent.patch * aarch64-sigstksz.patch * heap-top-corruption.patch * pthread-join-deadlock.patch- pthread-join-deadlock.patch: Use IE model for static variables in libc.so, libpthread.so and rtld (bsc#930015, BZ #18457)- glibc-nodate.patch: fix verification of timestamp- also filter out -fstack-protector-strong- getaddrinfo-ipv6-sanity.diff: Remove. It breaks services that start before IPv6 is up (bsc#931399) - glibc-2.3.locales.diff.bz2: Remove sh_YU locales, fix currency for en_BE.- Add /usr/include/gnu/lib-names-.*.h to baselibs - pthread-join-deadlock.patch: Don't require rtld lock to store static TLS offset in the DTV (bsc#930015, BZ #18457) - heap-top-corruption.patch: Do not corrupt the top of a threaded heap if top chunk is MINSIZE (BZ #18502)- threaded-trim-threshold.patch: Fix regression in threaded application malloc performance (bsc#915955, BZ #17195)- aarch64-sigstksz.patch: Increase MINSIGSTKSZ and SIGSTKSZ (BZ #16850)- powerpc-software-sqrt.patch: Fix powerpc software sqrt (BZ #17964, BZ [#17967]) - nss-separate-state-getXXent.patch: Separate internal state between getXXent and getXXbyYY NSS calls (CVE-2014-8121, bsc#918187, BZ #18007) - static-tls-dtv-limit.patch: Fix DTV race, assert, DTV_SURPLUS Static TLS limit, and nptl_db garbage (bsc#919678, BZ #17090, BZ #17620, BZ #17621, BZ #17628)- resolv-nameserver-handling.patch: Replace with simpler version with more compatibility- memcpy-chk-non-SSE2.patch: Fix __memcpy_chk on non-SSE2 CPUs (bsc#920084)- resolv-nameserver-handling.patch: Rewrite handling of nameserver configuration in resolver- htm-tabort.patch: Fix TABORT encoding for little endian- Update to glibc 2.21 release. * A new semaphore algorithm has been implemented in generic C code for all machines * Added support for TSX lock elision of pthread mutexes on powerpc32, powerpc64 and powerpc64le * Optimized strcpy, stpcpy, strchrnul and strrchr implementations for AArch64 * i386 memcpy functions optimized with SSE2 unaligned load/store * New locales: tu_IN, bh_IN, raj_IN, ce_RU * The obsolete sigvec function has been removed * CVE-2015-1472 CVE-2015-1473 CVE-2012-3406 CVE-2014-9402 CVE-2014-7817 bsc#864081 bsc#906371 bsc#909053 bsc#910599 bsc#916222 - Patches from upstream removed * ifunc-x86-slow-sse4.patch * pthread-mutex-trylock-elision.patch - o-tmpfile.patch: Fix value of O_TMPFILE for architectures with non-default O_DIRECTORY (BZ #17912)- Update to crypt_blowfish 1.3. * Add support for the $2b$ prefix. - ifunc-x86-slow-sse4.patch: Fix misdetected Slow_SSE4_2 cpu feature bit (BZ #17501)build75 1563446156  !"#$%&'()*+,-./0123456789:;<=>?@ABCDEFGHIJKLMNOPQRSTUVWXYZ[\]^_`abcdefghijklmnopqrstuvwxyz{|}~      !"#$%&'()*+,-./0123456789:;<=>?@ABCDEFGHIJKLMNOPQRSTUVWXYZ[\]^_`abcdefghijklmnopqrstuvwxyz{|}~      !"#$%&'()*+,-./0123456789:;<=>?@ABCDEFGHIJKLMNOPQRSTUVWXYZ[\]^_`abcdefghijklmnopqrstuvwxyz{|}~2.26-lp150.11.20.1glibcAborting-a-Program.htmlAbsolute-Priority.htmlAbsolute-Value.htmlAbstract-Host-Addresses.htmlAccepting-Connections.htmlAccess-Modes.htmlAccess-Permission.htmlAccess-to-the-Terminal.htmlAccessing-Directories.htmlActions-in-the-NSS-configuration.htmlAdding-Platform_002dspecific.htmlAdding-Severity-Classes.htmlAdding-another-Service-to-NSS.htmlAddress-Formats.htmlAdvanced-Signal-Handling.htmlAdvanced-gettext-functions.htmlAdvantages-of-Alloca.htmlAlarm-Signals.htmlAligned-Memory-Blocks.htmlAlloca-Example.htmlAllocating-Cleared-Space.htmlAllocation-Debugging.htmlAllocation-in-an-Obstack.htmlAllocation.htmlArgp-Children.htmlArgp-Example-1.htmlArgp-Example-2.htmlArgp-Example-3.htmlArgp-Example-4.htmlArgp-Examples.htmlArgp-Flags.htmlArgp-Global-Variables.htmlArgp-Help-Filter-Keys.htmlArgp-Help-Filtering.htmlArgp-Help-Flags.htmlArgp-Help.htmlArgp-Helper-Functions.htmlArgp-Option-Flags.htmlArgp-Option-Vectors.htmlArgp-Parser-Functions.htmlArgp-Parsers.htmlArgp-Parsing-State.htmlArgp-Special-Keys.htmlArgp-User-Customization.htmlArgp.htmlArgument-Macros.htmlArgument-Syntax.htmlArgz-Functions.htmlArgz-and-Envz-Vectors.htmlArithmetic-Functions.htmlArithmetic.htmlArray-Search-Function.htmlArray-Sort-Function.htmlAsynchronous-I_002fO-Signals.htmlAsynchronous-I_002fO.htmlAsynchronous-Reads_002fWrites.htmlAtomic-Data-Access.htmlAtomic-Types.htmlAtomic-Usage.htmlAttribute-Meanings.htmlAuxiliary-Vector.htmlBSD-Random.htmlBSD-Signal-Handling.htmlBSD-Terminal-Modes.htmlBSD-Wait-Functions.htmlBacktraces.htmlBasic-Allocation.htmlBasic-Scheduling-Functions.htmlBasic-Signal-Handling.htmlBerkeley-Unix.htmlBinary-Streams.htmlBlock-Input_002fOutput.htmlBlocking-Signals.htmlBlocking-for-Handler.htmlBroken_002ddown-Time.htmlBuffering-Concepts.htmlByte-Order.htmlByte-Stream-Example.htmlCPU-Affinity.htmlCPU-Time.htmlCalendar-Time.htmlCalling-Glob.htmlCalling-Variadics.htmlCalling-Wordexp.htmlCancel-AIO-Operations.htmlCanonical-or-Not.htmlCase-Conversion.htmlChanging-Block-Size.htmlCharacter-Handling.htmlCharacter-Input.htmlCharacter-Set-Handling.htmlCharset-Function-Overview.htmlCharset-conversion-in-gettext.htmlChecking-for-Errors.htmlChecking-for-Pending-Signals.htmlChoosing-Locale.htmlClassification-of-Characters.htmlClassification-of-Wide-Characters.htmlCleaning-Streams.htmlCleanups-on-Exit.htmlClosing-Streams.htmlClosing-a-Socket.htmlCollation-Functions.htmlCommon-Usage.htmlCommunication-Styles.htmlComparison-Functions.htmlComplex-Numbers.htmlConcatenating-Strings.htmlConcept-Index.htmlConcepts-of-Job-Control.htmlConcepts-of-Signals.htmlConditionally-Safe-Features.htmlConfiguration-of-AIO.htmlConfiguring-Inetd.htmlConfiguring-and-compiling.htmlConnecting.htmlConnections.htmlConsistency-Checking.htmlConstants-for-Sysconf.htmlContinuing-Stopped-Jobs.htmlContributors.htmlControl-Functions.htmlControl-Modes.htmlControl-Operations.htmlControlling-Buffering.htmlControlling-Terminal.htmlConversion-Specifier-Options.htmlConverting-Strings.htmlConverting-a-Character.htmlCopying-Strings-and-Arrays.htmlCopying.htmlCreating-Directories.htmlCreating-Obstacks.htmlCreating-a-Pipe.htmlCreating-a-Process.htmlCreating-a-Socket.htmlCryptographic-Functions.htmlCurrency-Symbol.htmlCustom-Streams.htmlCustomizing-Printf.htmlDES-Encryption.htmlData-Structures.htmlData-Type-Measurements.htmlDatabase-Example.htmlDatagram-Example.htmlDatagrams.htmlDate-and-Time.htmlDebugging-Support.htmlDefault-Thread-Attributes.htmlDefining-Handlers.htmlDefining-the-Output-Handler.htmlDeleting-Files.htmlDelivery-of-Signal.htmlDescriptor-Flags.htmlDescriptors-and-Streams.htmlDirectories.htmlDirectory-Entries.htmlDisadvantages-of-Alloca.htmlDocumentation-License.htmlDuplicating-Descriptors.htmlDynamic-Output.htmlDynamic-String-Input.htmlEOF-and-Errors.htmlEditing-Characters.htmlEffects-of-Locale.htmlElapsed-Time.htmlEnable_002fDisable-Setuid.htmlEncode-Binary-Data.htmlEnvironment-Access.htmlEnvironment-Variables.htmlEnvz-Functions.htmlErasing-Sensitive-Data.htmlError-Codes.htmlError-Messages.htmlError-Recovery.htmlError-Reporting.htmlErrors-in-Math-Functions.htmlExample-Receiver.htmlExample-of-Getopt.htmlExample-of-Parsing.htmlExample.htmlExamples-of-Sysconf.htmlExecuting-a-File.htmlExit-Status.htmlExpansion-Stages.htmlExponents-and-Logarithms.htmlExtended-Char-Intro.htmlExtending-NSS.htmlExtra-Fast-Growing.htmlFIFO-Special-Files.htmlFP-Bit-Twiddling.htmlFP-Comparison-Functions.htmlFP-Exceptions.htmlFP-Function-Optimizations.htmlFeature-Test-Macros.htmlFile-Attributes.htmlFile-Index.htmlFile-Locks.htmlFile-Minimums.htmlFile-Name-Errors.htmlFile-Name-Portability.htmlFile-Name-Resolution.htmlFile-Names.htmlFile-Owner.htmlFile-Position-Primitive.htmlFile-Position.htmlFile-Positioning.htmlFile-Size.htmlFile-Status-Flags.htmlFile-System-Interface.htmlFile-Times.htmlFilesystem-Handling.htmlFinding-Tokens-in-a-String.htmlFlags-for-Globbing.htmlFlags-for-POSIX-Regexps.htmlFlags-for-Sigaction.htmlFlags-for-Wordexp.htmlFloating-Point-Classes.htmlFloating-Point-Concepts.htmlFloating-Point-Errors.htmlFloating-Point-Numbers.htmlFloating-Point-Parameters.htmlFloating-Type-Macros.htmlFloating_002dPoint-Conversions.htmlFlushing-Buffers.htmlForeground-and-Background.htmlFormatted-Input-Basics.htmlFormatted-Input-Functions.htmlFormatted-Input.htmlFormatted-Messages.htmlFormatted-Output-Basics.htmlFormatted-Output-Functions.htmlFormatted-Output.htmlFormatting-Calendar-Time.htmlFormatting-Numbers.htmlFree-Manuals.htmlFreeing-Obstack-Objects.htmlFreeing-after-Malloc.htmlFunction-Index.htmlFunctions-for-Job-Control.htmlGNU-C-Variable_002dSize-Arrays.htmlGUI-program-problems.htmlGeneral-Limits.htmlGeneral-Numeric.htmlGeneral-Time-String-Parsing.htmlGenerating-Signals.htmlGeneric-Charset-Conversion.htmlGeneric-Conversion-Interface.htmlGetopt-Long-Option-Example.htmlGetopt-Long-Options.htmlGetopt.htmlGetting-File-Status-Flags.htmlGetting-Started.htmlGlobbing.htmlGroup-Data-Structure.htmlGroup-Database.htmlGrowing-Objects.htmlHandler-Returns.htmlHard-Links.htmlHardware-Capability-Tunables.htmlHash-Search-Function.htmlHeader-Files.htmlHeap-Consistency-Checking.htmlHelper-programs-for-gettext.htmlHierarchy-Conventions.htmlHigh-Accuracy-Clock.htmlHigh_002dResolution-Calendar.htmlHook-Functions.htmlHooks-for-Malloc.htmlHost-Address-Data-Type.htmlHost-Address-Functions.htmlHost-Addresses.htmlHost-Identification.htmlHost-Names.htmlHow-Change-Persona.htmlHow-Many-Arguments.htmlHow-Unread.htmlHow-Variadic.htmlHyperbolic-Functions.htmlIEEE-Floating-Point.htmlIOCTLs.htmlISO-C.htmlISO-Random.htmlI_002fO-Concepts.htmlI_002fO-Overview.htmlI_002fO-Primitives.htmlI_002fO-Queues.htmlI_002fO-on-Streams.htmlIdentifying-the-Terminal.htmlImplementing-a-Shell.htmlImportant-Data-Types.htmlIndependent-Channels.htmlInet-Example.htmlInetd-Servers.htmlInetd.htmlInfinity-and-NaN.htmlInitial-Signal-Actions.htmlInitializing-the-Shell.htmlInput-Conversion-Syntax.htmlInput-Modes.htmlInstallation.htmlInteger-Conversions.htmlInteger-Division.htmlIntegers.htmlInter_002dProcess-Communication.htmlInterface-Naming.htmlInternal-Probes.htmlInternet-Address-Formats.htmlInternet-Namespace.htmlInterpreting-the-traces.htmlInterrupt-Input.htmlInterrupted-Primitives.htmlIntroduction.htmlInverse-Trig-Functions.htmlIs-It-a-Terminal.htmlJob-Control-Signals.htmlJob-Control-is-Optional.htmlJob-Control.htmlKeeping-the-state.htmlKill-Example.htmlKinds-of-Signals.htmlLanguage-Features.htmlLaunching-Jobs.htmlLegal-Problems.htmlLibrary-Summary.htmlLimits-for-Files.htmlLimits-on-Resources.htmlLine-Control.htmlLine-Input.htmlLine-Speed.htmlLinked-Channels.htmlLinux.htmlListening.htmlLocal-Modes.htmlLocal-Namespace-Concepts.htmlLocal-Namespace-Details.htmlLocal-Namespace.htmlLocal-Socket-Example.htmlLocale-Categories.htmlLocale-Information.htmlLocale-Names.htmlLocales.htmlLocating-gettext-catalog.htmlLocked-Memory-Details.htmlLocking-Pages.htmlLogging-In-and-Out.htmlLongjmp-in-Handler.htmlLookup-Group.htmlLookup-Netgroup.htmlLookup-User.htmlLow_002dLevel-I_002fO.htmlLow_002dLevel-Terminal-Interface.htmlLow_002dLevel-Time-String-Parsing.htmlMacro-Definitions.htmlMaintenance.htmlMaking-Special-Files.htmlMalloc-Examples.htmlMalloc-Tunable-Parameters.htmlManipulating-the-Database.htmlMatching-POSIX-Regexps.htmlMath-Error-Reporting.htmlMathematical-Constants.htmlMathematical-Function-Probes.htmlMathematics.htmlMemory-Allocation-Probes.htmlMemory-Allocation-Tunables.htmlMemory-Allocation-and-C.htmlMemory-Allocation.htmlMemory-Concepts.htmlMemory-Resources.htmlMemory-Subsystem.htmlMemory.htmlMemory_002dmapped-I_002fO.htmlMerged-Signals.htmlMessage-Translation.htmlMessage-catalogs-a-la-X_002fOpen.htmlMessage-catalogs-with-gettext.htmlMinimums.htmlMisc-FP-Arithmetic.htmlMisc-Namespaces.htmlMiscellaneous-Signals.htmlMissing-Pieces.htmlMode-Data-Types.htmlMode-Functions.htmlMore-Flags-for-Globbing.htmlMount-Information.htmlMount_002dUnmount_002dRemount.htmlMultibyte-Conversion-Example.htmlNSS-Basics.htmlNSS-Configuration-File.htmlNSS-Module-Function-Internals.htmlNSS-Module-Internals.htmlNSS-Module-Names.htmlNSS-Modules-Interface.htmlName-Service-Switch.htmlNetgroup-Data.htmlNetgroup-Database.htmlNetgroup-Membership.htmlNetworks-Database.htmlNon_002dLocal-Details.htmlNon_002dLocal-Exits-and-Signals.htmlNon_002dLocal-Exits.htmlNon_002dLocal-Intro.htmlNon_002dPOSIX-Extensions.htmlNon_002datomic-Example.htmlNon_002dlocal-Goto-Probes.htmlNon_002dreentrant-Character-Conversion.htmlNon_002dreentrant-Conversion.htmlNon_002dreentrant-String-Conversion.htmlNoncanon-Example.htmlNoncanonical-Input.htmlNonreentrancy.htmlNormal-Termination.htmlNormalization-Functions.htmlNotes-on-NSS-Configuration-File.htmlNull-Pointer-Constant.htmlNumeric-Input-Conversions.htmlObstack-Chunks.htmlObstack-Functions.htmlObstacks-Data-Alignment.htmlObstacks.htmlOpen-File-Description-Locks-Example.htmlOpen-File-Description-Locks.htmlOpen_002dtime-Flags.htmlOpen_002fClose-Sockets.htmlOpening-Streams.htmlOpening-a-Directory.htmlOpening-and-Closing-Files.htmlOperating-Modes.htmlOperation-Error-Signals.htmlOperations-on-Complex.htmlOptions-for-Files.htmlOrphaned-Process-Groups.htmlOther-Input-Conversions.htmlOther-Kinds-of-Streams.htmlOther-Mount-Information.htmlOther-Output-Conversions.htmlOther-Safety-Remarks.htmlOther-Special.htmlOther-iconv-Implementations.htmlOut_002dof_002dBand-Data.htmlOutput-Conversion-Syntax.htmlOutput-Modes.htmlOverview-of-Syslog.htmlPOSIX-Regexp-Compilation.htmlPOSIX-Safety-Concepts.htmlPOSIX-Threads.htmlPOSIX.htmlPage-Lock-Functions.htmlParsing-Date-and-Time.htmlParsing-Program-Arguments.htmlParsing-a-Template-String.htmlParsing-of-Floats.htmlParsing-of-Integers.htmlParsing-of-Numbers.htmlPathconf.htmlPattern-Matching.htmlPause-Problems.htmlPermission-Bits.htmlPermission-for-kill.htmlPipe-Atomicity.htmlPipe-to-a-Subprocess.htmlPipes-and-FIFOs.htmlPlatform-Type.htmlPlatform.htmlPortable-Positioning.htmlPorting-to-Unix.htmlPorting.htmlPorts.htmlPowerPC.htmlPredefined-Printf-Handlers.htmlPreparing-for-Obstacks.htmlPrintf-Extension-Example.htmlPrinting-Formatted-Messages.htmlPrinting-of-Floats.htmlPriority.htmlProcess-Completion-Status.htmlProcess-Completion.htmlProcess-Creation-Concepts.htmlProcess-Creation-Example.htmlProcess-Group-Functions.htmlProcess-Identification.htmlProcess-Persona.htmlProcess-Signal-Mask.htmlProcesses.htmlProcessor-And-CPU-Time.htmlProcessor-Resources.htmlProcessor-Time.htmlProgram-Arguments.htmlProgram-Basics.htmlProgram-Error-Signals.htmlProgram-Termination.htmlProtocols-Database.htmlPseudo_002dRandom-Numbers.htmlPseudo_002dTerminal-Pairs.htmlPseudo_002dTerminals.htmlQuery-Memory-Parameters.htmlRandom-Access-Directory.htmlRange-of-Type.htmlReading-Address.htmlReading-Attributes.htmlReading-Persona.htmlReading_002fClosing-Directory.htmlRealtime-Scheduling.htmlReceiving-Arguments.htmlReceiving-Data.htmlReceiving-Datagrams.htmlRegexp-Cleanup.htmlRegexp-Subexpressions.htmlRegistering-New-Conversions.htmlRegular-Expressions.htmlRemainder-Functions.htmlRemembering-a-Signal.htmlRenaming-Files.htmlReplacing-malloc.htmlReporting-Bugs.htmlRepresentation-of-Strings.htmlReserved-Names.htmlResizing-the-Data-Segment.htmlResource-Usage-And-Limitation.htmlResource-Usage.htmlRestartable-multibyte-conversion.htmlRoadmap-to-the-Manual.htmlRounding-Functions.htmlRounding.htmlRunning-a-Command.htmlRunning-make-install.htmlSVID-Random.htmlSVID.htmlScanning-All-Groups.htmlScanning-All-Users.htmlScanning-Directory-Content.htmlScatter_002dGather.htmlSearch-Functions.htmlSearch_002fSort-Example.htmlSearching-and-Sorting.htmlSelecting-the-Conversion.htmlSemaphores.htmlSending-Data.htmlSending-Datagrams.htmlServer-Example.htmlServices-Database.htmlServices-in-the-NSS-configuration.htmlSetting-Address.htmlSetting-Groups.htmlSetting-Modes.htmlSetting-Permissions.htmlSetting-User-ID.htmlSetting-an-Alarm.htmlSetting-the-Locale.htmlSetuid-Program-Example.htmlShift-State.htmlSigaction-Function-Example.htmlSign-of-Money-Amount.htmlSignal-Actions.htmlSignal-Characters.htmlSignal-Generation.htmlSignal-Handling.htmlSignal-Messages.htmlSignal-Sets.htmlSignal-Stack.htmlSignal-and-Sigaction.htmlSignaling-Another-Process.htmlSignaling-Yourself.htmlSignals-in-Handler.htmlSigsuspend.htmlSimple-Calendar-Time.htmlSimple-Directory-Lister-Mark-II.htmlSimple-Directory-Lister.htmlSimple-Output.htmlSleeping.htmlSocket-Addresses.htmlSocket-Concepts.htmlSocket-Data-Options.htmlSocket-Option-Functions.htmlSocket-Options.htmlSocket-Pairs.htmlSocket_002dLevel-Options.htmlSockets.htmlSource-Layout.htmlSpecial-Characters.htmlSpecial-Functions.htmlStandard-Environment.htmlStandard-Locales.htmlStandard-Signals.htmlStandard-Streams.htmlStandards-and-Portability.htmlStart_002fStop-Characters.htmlStatistics-of-Malloc.htmlStatus-bit-operations.htmlStatus-of-AIO-Operations.htmlStatus-of-an-Obstack.htmlStopped-and-Terminated-Jobs.htmlStorage-Allocation.htmlStream-Buffering.htmlStream_002fDescriptor-Precautions.htmlStreams-and-Cookies.htmlStreams-and-File-Descriptors.htmlStreams-and-I18N.htmlStreams-and-Threads.htmlStreams.htmlString-Input-Conversions.htmlString-Length.htmlString-Parameters.htmlString-Streams.htmlString-and-Array-Utilities.htmlString_002fArray-Comparison.htmlString_002fArray-Conventions.htmlStructure-Measurement.htmlSubexpression-Complications.htmlSubmitting-Syslog-Messages.htmlSuboptions-Example.htmlSuboptions.htmlSummary-of-Malloc.htmlSummary-of-Obstacks.htmlSymbolic-Links.htmlSynchronizing-AIO-Operations.htmlSynchronizing-I_002fO.htmlSysconf-Definition.htmlSysconf.htmlSyslog-Example.htmlSyslog.htmlSystem-Calls.htmlSystem-Configuration.htmlSystem-Management.htmlSystem-Options.htmlSystem-Parameters.htmlSystem-V-Number-Conversion.htmlSystem-V-contexts.htmlTZ-Variable.htmlTable-of-Input-Conversions.htmlTable-of-Output-Conversions.htmlTemporary-Files.htmlTerminal-Access-Functions.htmlTerminal-Modes.htmlTermination-Internals.htmlTermination-Signals.htmlTermination-in-Handler.htmlTesting-File-Access.htmlTesting-File-Type.htmlTesting-for-Delivery.htmlThe-Elegant-and-Fast-Way.htmlThe-GNU-Allocator.htmlThe-Lame-Way-to-Locale-Data.htmlThe-Uniforum-approach.htmlThe-catgets-Functions.htmlThe-gencat-program.htmlThe-message-catalog-files.htmlThread_002dspecific-Data.htmlTilde-Expansion.htmlTime-Basics.htmlTime-Functions-Example.htmlTime-Zone-Functions.htmlTips-for-Setuid.htmlTips-for-the-Memory-Debugger.htmlTools-for-Compilation.htmlTracing-malloc.htmlTraditional-Scheduling-Functions.htmlTraditional-Scheduling-Intro.htmlTraditional-Scheduling.htmlTransferring-Data.htmlTranslation-with-gettext.htmlTree-Search-Function.htmlTrig-Functions.htmlTrivial-Encryption.htmlTruncating-Strings.htmlTunable-names.htmlTunables.htmlType-Index.htmlUnconstrained-Allocation.htmlUnpredictable-Bytes.htmlUnreading-Idea.htmlUnreading.htmlUnsafe-Features.htmlUser-Accounting-Database.htmlUser-Data-Structure.htmlUser-Database.htmlUser-and-Group-IDs.htmlUsers-and-Groups.htmlUsing-Getopt.htmlUsing-Pause.htmlUsing-Wide-Char-Classes.htmlUsing-gettextized-software.htmlUsing-the-Library.htmlUsing-the-Memory-Debugger.htmlUtility-Limits.htmlUtility-Minimums.htmlVariable-Arguments-Input.htmlVariable-Arguments-Output.htmlVariable-Index.htmlVariable-Size-Automatic.htmlVariable-Substitution.htmlVariadic-Example.htmlVariadic-Functions.htmlVariadic-Prototypes.htmlVersion-Supported.htmlWaiting-for-I_002fO.htmlWaiting-for-a-Signal.htmlWho-Logged-In.htmlWho-is-Connected.htmlWhy-Block.htmlWhy-Change-Persona.htmlWhy-Lock-Pages.htmlWhy-Variadic.htmlWide-Character-Case-Conversion.htmlWidth-of-Type.htmlWildcard-Matching.htmlWord-Expansion.htmlWordexp-Example.htmlWorking-Directory.htmlWorking-with-Directory-Trees.htmlWriting-a-User-Entry.htmlXPG-Functions.htmlXPG.htmlYes_002dor_002dNo-Questions.htmlcloselog.htmlcrypt.htmlfstab.htmlgetpass.htmlglibc-iconv-Implementation.htmliconv-Examples.htmlindex.htmlmtab.htmlopenlog.htmlsetlogmask.htmlstrfry.htmlsyslog_003b-vsyslog.html/usr/share/doc//usr/share/doc/glibc/-fmessage-length=0 -grecord-gcc-switches -O2 -Wall -D_FORTIFY_SOURCE=2 -fstack-protector-strong -funwind-tables -fasynchronous-unwind-tables -fstack-clash-protection -gobs://build.opensuse.org/openSUSE:Maintenance:10645/openSUSE_Leap_15.0_Update/ab0fc6b542a9134336dab6db003b4421-glibc.openSUSE_Leap_15.0_Updatedrpmxz5x86_64-suse-linuxdirectoryHTML document, ASCII text, with very long linesHTML document, ASCII textC source, ASCII text, with very long lines!uGp\hT(utf-8089fce21236c79c3ed705916ea2d84bdf79cd11a654bc137a5ee5dd697779982?P7zXZ !t/%]"k% ^6+GIM{6:7j`k\txNu3|m}IN.Rqή?Xc,c.7zҌ:UzgĖB  Q] ψZ"S##!īMɖ/ !jB h@(.hW o- ɴP5UM$qߩi52Ia5axM )72nvZic2D ю#^ 4G2$v3k&qd\_usKh$*EdfͿNwʺ<­ͭ`(r[ѠwerIrOrcb=_~ P?6xmcPۣ-ԽbhUq0Μ@g @ijm:j>Quqk,#Ns4P8S; BI@s5vOѷ@g ٷӉ˞.LV ߏv=LY$&,Hu*F ]dg4RtсbhxV~$BiRip 7)x0Vx0Dpi`-1ȍ\m ˗qV,36)<"gZַx/8ԃ_EHoa+ʫub*N|eidoR$>,37 Tk?7}L[E؄3/d_jH3:u.6Bcb-!1y¢CaH-k^ 5pQ:ocP]zGSs&9{{vn;):+9jl]kPCa1w%ɵ~RdJ\SM3+[ڏ0;;Q;UB=Ȱ<\-| g ugR6xhވڽƉ*sF&D,#* \F &Ɖ'f4Zhb -a|Q zmD"[a){Pb.M5ɋխuRB諯DTwC՜鸦q_gG*~'>*Ҥakή^0?;^NĈ SuOImA@Gq3fu9msr[+4#.U??T'[IJd{NEnRiTb=Ae;{a;aQvύ>X{?IhӯP̌^ؒ&M)!8 i%ŸrY.EL9٘$s;eBwyZ%H֮?~.()>i~#`#+IM"_/'VAA[սzhdKLJg⁺+:9qzP{ ”Z3S% 4Wk"o<$Fd(SFQS-si"Rh>l.Ld*" 0Kn"g tfԤ]=P3' M@8ipJ#_ [Lj/?Jdboxymk*엤1C辙)`T/3:y J\B)-Z(mFhIx_\d9Q nt><=37++'"_TeY Ak%dY6VEGܕIERr$p%|w|+ϊ]b;8aඨZA'%rCBcXuM>ȳaNŋNl~n%KN䦞8^eґav,omZ&._ouxk3!6ݗũf6s[&Y|S0/b@YXyoOÏg9";1@C͢!8Ӻv{]'WO1I ,BzؼЛ8hvDI/Q܋S{.Sj0]CSq8M@l2,:T`טLU 4^|, TE0ʟXOQ#`pj¦GeeboQ,8q7iRe=6πƽ+:Ǘ hB5>*\_r^HnPdw\ N?ڝ\+$oZqSm>=F=o/Bӏr?oSnY{Ӫt\}Еb$:?}A Q|Ʀ:@-YDs݇[`{m%ک$7FH6di -M^U(JV\ZMn-a?8'K׭;|B-Ż+LX?e8gD!Ѹ&S.,޷mĞnUgΒ=1k2MH =h]r^EtuxEx}k9W y4Ed>sF ߙD"b 6QxNt\Oir~/AC+=U"n?mE7^}! &Y^-J.GHk+`J1H$Ҙ X_F0[!$[mes.g&()rn*'Š^7 9O8zLOfķT:'- goIG/L=v8&KƃZ^FkPud~n2"ޖwJqx>iKb ZcpMǯ1#{ͩ!H3"oK`Hy J+g&k(6Uc4/[WiV;(-2qu[uOp>6 KY}[YӾewtxR)zؼ_k E 4۸}5[eS44RZ5QMSe>^.ͯ"k&u?iCr,2 M^ ~Nz{[GXxMT5W5rU=Cx .;wū>*QC-xzLÜ[Ie_mUIiλOJKEp£9%;u22hZ1E Y~@y~3_^yO"ۀ'"oxd%Oh%9ki$t!fsEH.+#,%Ѣ.k/F )V֪*8ɡbóvMsâɖ d yl?(ЎHf w-Se7"X,}_!)Xԡ,{ )"hUv-;|j"XJbѱU29QSw \1O 01FMa/a绱fTIIVxkJxgFS,PuSh֦lI`O|sV6(3ǣO n?c} r0j;m铜 I$]Ӂ;h%Ka#Y YZ