glibc-html-2.31-150300.83.1<>,bfEp9|вHB[ 3_+.̚$G] 儊uUoxyPuqcȪ%&kߚLNGfϚE3F]sYTSK4x 42 DV):`a&1nq#Y.ms5J^J%2ŝ+'qT#rEi4#! L$j6;`<?`,d   G6D Zm <   $d I 0=  lx(89:$FwGH IXY\] H^RJbRpcSdSeSfSlSuSv_Lz____`(Cglibc-html2.31150300.83.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.fEh04-ch2bmSUSE Linux Enterprise 15SUSE LLC GFDL-1.1-onlyhttps://www.suse.com/Documentation/HTMLhttp://www.gnu.org/software/libc/libc.htmllinuxnoarch 7%!$c*>GC;%_Y3'e,_/zhW\*#( !(u.!$89o"48/1*Hk!T\4[!/7@7/!@#Tu1;ld;">G(R#q0Y=_*i.|E+\$&o6!'($$* +?R4UE8YNDu/$ **_!8}yV$o e # P*5~0&09!W nU3' 0D"F-~5)*{/O\J|xB/wl4" )?Oe&V("+Ll2)<RFwe)4i~It@)#..e<up%#*Y<" t)F%%}.*K?Yl40PJ{&9' S+%j2'o))! 'Q& k2%33T*lF -;5' 3v0Ee(u? @ku3YG%8"u's(ey2!njrQZ!$!E+)_,0Z!mB&ZI##b+G]"`k#(/+5^/V%q%T-l H")5&VdJ<4$d"fB3# #H '>b5- #~'!{, :+=%$$#@Qt3}<!v#5@0!W=u;!'3M4'$[A"Pwo#'"-[1':R,>:A!Gv$$%!b.<4EF^)##%"6V&C!65 %+#r;wd$! $1,L9f1]*-';?r&i *!A큤fEfE0fE.fE.fE-fE,fE,fE,fE,fE.fE,fE.fE0fE,fE.fE,fE.fE+fE+fE.fE*fE+fE*fE*fE+fE-fE.fE.fE.fE.fE.fE.fE.fE.fE.fE.fE.fE.fE.fE.fE.fE.fE.fE.fE.fE.fE.fE/fE.fE+fE+fE-fE-fE+fE+fE.fE,fE,fE.fE.fE.fE,fE.fE-fE.fE-fE.fE/fE*fE.fE.fE*fE,fE+fE.fE.fE.fE,fE,fE,fE.fE.fE.fE.fE/fE+fE/fE+fE,fE,fE+fE*fE+fE+fE+fE+fE+fE*fE.fE+fE+fE+fE,fE.fE+fE,fE+fE+fE,fE+fE-fE+fE0fE.fE.fE*fE,fE,fE0fE,fE,fE/fE/fE.fE0fE-fE-fE,fE,fE.fE,fE+fE+fE,fE+fE0fE,fE+fE,fE.fE,fE/fE+fE,fE,fE.fE/fE/fE,fE,fE.fE/fE/fE.fE,fE,fE.fE,fE,fE+fE,fE+fE0fE,fE,fE,fE,fE-fE+fE/fE.fE+fE.fE.fE+fE+fE*fE*fE,fE*fE-fE,fE.fE,fE,fE/fE.fE.fE+fE-fE+fE.fE+fE,fE-fE-fE-fE-fE*fE,fE0fE,fE/fE+fE+fE+fE+fE,fE,fE+fE,fE,fE,fE,fE,fE/fE+fE+fE+fE.fE+fE-fE/fE-fE-fE/fE/fE+fE,fE.fE,fE,fE,fE,fE+fE,fE+fE.fE+fE0fE+fE*fE0fE.fE+fE+fE/fE+fE.fE.fE+fE+fE.fE.fE.fE,fE*fE.fE+fE.fE.fE+fE.fE,fE/fE+fE*fE*fE+fE0fE,fE*fE,fE,fE,fE/fE,fE.fE/fE+fE/fE-fE/fE,fE/fE/fE/fE/fE/fE/fE*fE-fE+fE+fE,fE,fE+fE.fE.fE/fE,fE,fE,fE,fE-fE.fE.fE,fE-fE0fE+fE-fE-fE.fE,fE/fE,fE,fE+fE,fE.fE*fE-fE,fE.fE.fE+fE.fE.fE/fE.fE0fE/fE.fE-fE+fE-fE,fE0fE,fE-fE,fE,fE,fE,fE+fE+fE+fE+fE+fE+fE+fE.fE.fE.fE/fE.fE,fE,fE.fE,fE*fE0fE,fE*fE*fE.fE+fE-fE-fE/fE-fE/fE/fE*fE*fE*fE+fE.fE.fE*fE,fE.fE+fE+fE+fE/fE-fE,fE.fE.fE,fE-fE+fE/fE/fE+fE.fE.fE.fE.fE.fE.fE.fE/fE/fE/fE,fE.fE.fE.fE.fE/fE.fE/fE+fE+fE+fE-fE-fE.fE.fE-fE.fE/fE,fE+fE+fE+fE+fE+fE,fE,fE,fE,fE+fE,fE,fE,fE.fE-fE/fE.fE,fE,fE/fE+fE*fE-fE+fE,fE+fE-fE-fE+fE*fE/fE/fE*fE+fE.fE.fE,fE.fE-fE-fE/fE/fE+fE.fE,fE.fE,fE,fE,fE/fE0fE,fE0fE0fE,fE0fE,fE+fE,fE,fE.fE.fE.fE.fE.fE.fE.fE.fE.fE.fE.fE.fE.fE.fE.fE.fE.fE.fE,fE-fE-fE-fE.fE0fE,fE/fE,fE,fE.fE,fE.fE/fE,fE,fE+fE+fE,fE+fE-fE.fE,fE+fE0fE+fE*fE+fE.fE.fE+fE*fE-fE-fE.fE0fE-fE*fE.fE.fE,fE,fE+fE+fE+fE+fE.fE,fE,fE,fE,fE.fE,fE.fE-fE,fE.fE.fE.fE+fE.fE+fE+fE.fE+fE.fE-fE.fE.fE.fE.fE.fE.fE.fE.fE.fE.fE,fE,fE+fE.fE,fE,fE,fE,fE,fE,fE,fE,fE0fE-fE-fE.fE+fE.fE+fE*fE-fE*fE-fE,fE+fE.fE,fE,fE,fE,fE+fE+fE+fE+fE,fE+fE/fE,fE+fE+fE+fE/fE+fE-fE.fE.fE*fE+fE0fE,fE,fE,fE/fE/fE-fE-fE.fE/fE/fE/fE/fE.fE.fE.fE,fE+fE,fE.fE,fE.fE.fE.fE,fE,fE.fE+fE*fE+fE+fE+fE+fE+fE/fE/fE+fE.fE.fE.fE.fE.fE*fE0fE*fE.fE.fE.fE,fE+fE+fE-fE+fE/fE/fE0fE*fE/fE+fE+fE*fE.fE.fE.fE.fE.fE.fE.fE+fE+fE*fE*fE/fE/fE,fE,fE0fE+fE+fE/fE/fE/fE/fE,fE.fE.fE,fE.fE.fE+fE/fE+fE/fE+fE+fE+fE,fE,fE.fE.fE*fE+fE-fE/fE-fE+fE+fE*fE/fE-fE-fE-3c081e24aa3539079e3861db1a2b9e34fe661a9f80d2a441ac7a5cc6b972c873b3cd7f9ab200703a104fae262714c2c4c65525ea1f8888763af6c393379603d6e0aaeb9dfce1ce2494024ad65293c23bdae5b683a502c1a4341e5a28f931238af8e4134d1c033dde0887a49369eedbf716ba28c40563f33627522ffce1529a5792f0e67e37c82e0cc131f64aea3d3c2fdd6d0a592d2ec75396565faa2e2187fba3268e40a28413ebce29936152f844c6ebbf44ee0158f11485d4885832405e3f4928e113f0eaa743356bd182de847711bb66867834e672d5c013ab362122bd0b4e4cc1a93955e8b644fb4342341a1f2ea132fe5934be6aaac633ee2b2b3be6b9a749dd855842dd822e9877ae45970ec42ccb22fc55b5c57db2b68ae93927eb6f7b2841679da1982bfd40b6ae58ece7026cc2d62e1ac105a3fe2e718a79276ff05b75855dc8021e513a1392787484e964bc26df5bb1abe5cc80c8eb3433e12c1ff295a6ebc465d14aeb66afaebe28114f4caea4fc0665203d1050a59052ba6e942aba324001c753ea0cf7b1c130b967f131a7f2d11234207e0a7fbdecd46b5202bdee03e206a4eaac2569e3697ebd09b828ed82919c06158382d5b64a87838cd7f17ab6bf939c98c0bf50674e52aa4ed286c1974d6014177d3d841c54c6f133a1d5f97e5d7d1f1cd6cb9a3e492babdab462dd0ef270eebe90378ac7ed4198bb181d68b8cfa0acf6b4191fda63c2fd3b5a4064d617ddb7d3d71ebffc16a64a2156b47160852e5c18f137b5677fcb9ce74066588fbec78f66f46ecb87c9e2926d91ab469aa6e5e3d33e2a1aa69e967b0037083110607440e8c775bdc9bd089eb9c7d09986174fb186fd8db37803246a66650467570e02acbb11a0f343e65664a1fd71dce0c907895f31b6d212c95d43d21adb18f272bf01a2494bdb352ff14e0b6ca2cb04ae6dd25b59d646340091479fc9a2f86ffded8b4814947cc71d6298ae44ff73e76f5d4fc2148d57a3c924b1b146dad81786d9f8593f26660c6e8c25d992c3ebf1d69986e50aeeb324a3ed0fd133b2f609c9be6dd9724d96835561c47773fb7cb3bbb5dd15f6a406e23fdc8c2e431b0dfcc17cd69810739fcf6539e944916e93d223379198dccfde0a7d665eda6c115f092c65820eb84a003c5047c36117d2c554d0a287655ce2497231ebba4730e42b3071cab520a7910a0620f2d191fc4d24fb0730cbc27815f5b8558c6072fb619b3b53d22bb95fa37edaf73c4fba7e13b15bb4e992bb6129eaa50e9b9e9d3beb1dc42d1d97967669d366bcf8ca379b5c35bfd5dccbd1fdd3bf3f6c6249595b9fd30cc0ba53077ba61c1dab97c3c9079ba8ae8a421d8fc3cbcd523b63cb1910d223239aabd854aa4ab4f18d07754ee94fa4b8ec76c7cbc822c52ad58a26c3ef1315c736887ac77767f86d2c8d3c8770bbf6363a8175ab7f8bd9f2745f570d33bfa7755fcb7b3957a7b1fc5f88fa2810b172344534f48dd6de106d95bdd76aa4a9fbe6209b7aea6ea7cabc5f4a54a80c022b1d4a31fab386bda56b159a2304c1e54ef5dae713fa4c71d2d6ce93f0ca9b2a7cbd969b3b3bcb78cf37e322937ce7480010e4e8f7f4c53cfc9b9b5a41f023915990c825ce40ef28a787a8054b72036e2c3667c78b656bd2ca2b89b4a90f8c8790ac4b10b1973ced2cbd5f15cd128450430daf0ae8ac37a454f697dbcb34946da3365a78db285ca4b16bb5e7635809683304638c6e4ad93f48b7d107c9c701cd765dc31b4b603d03cb5fef33f8eb818b27c2bd74349b88610e9c6ce28b3c0fa30105e57635bc607633204b3dbc5fc39f528286016447f03bbc2e4101e98237959d88e523e4922becdbe88039e2c3d7a6d83223b3664f40a3b2b9e55e03c69b735e4b93d087f3dbc9a41cfe430660809587789b35c6ba5baeaaaa29d2b95fb0fd6ec63a99fba466a777546bb5a2b2b255590d1e921df027a384588c9ddcc3492262cebd5c8be8490255728d95dda267c3ed8d8eef62a690205208c838f979ebfb46eb88a3e8bbe49cb19eb493b1591ba19fab68297999098e7c78339ed5f6884e2f352c2eaf4d4c067cd351759fc1fd4d240471b5c85b1dc52066ff4fe27884a475fcefa3152bb1da410c8e24014cb849f2b58a55536f4d30bd2b17270dd39a21ef9edd062d50a5b7984e3760a78a9493f5338e115545a880631d64fca48f139cc5c86828e0d12496e91a0917e6c7d3f5bfcf03583c0223f045a4b42a70415cff442be7683fde02ee94c65bdccfb05ea4770d328eb2ff8f96c81ae44e963361963b8ba31e2cb78ac213de792011cb30d699ae5623342fc023ad6e4200e9015b7544d1a9749969ccce243251aba1b5b897753a42f2a43928e6a6a60495fe9e79ffc05335e2a9c1896d66f311ed9b2583bebe4294c5871ad5b112639cc6a88bce30663bfbbd876ea0becf4c0b9430b7ed7707f7b904ed0896d8576119735b5692f72685f73484c420040b1241497ac5d246f6bb73e1e857637281be395111889a6f4ae507b56f46479bac93499d618a2f30aa68aeb59903fbc5a5b23135cdb3da76b20b068eac78cf4520d1a7bb4b72f97836a24301fe05d31b2b50180f8b054764e6cc239233c8d6085364b2978ddfe9837a836901203bb4a6cb4f454e4c30d02a70b0061c1b9d5d9ae9bc1cfd2e2457242cd9b6b0bd105b2f89547f62591ac45d2da12836c688bd4c2929f2de04ec3f2590a5a77d146345a7a2abf2637dc9b8be00eb092adec3f781fa0d06593e539c58e77b6fc7403059dfe825fed0d1b5f3996e34f429ff1c624ba722659dc51bd4ef5b3661f593bd6a2b669b22c62c5ef5f53ae1f8157169afc11d55a24f4f7a36d863a68b4be5ea5d48ba42c10875973cff96f76f3458ac9d48e51e7fecacc5cb04189bb13604dfd8eaa06541acfafc980911447334254bda147b2623097eecf8cba88295b6db627cd3dc59ec6f3443ab6ea8a520d35f78f267e6a91020ca1e78267cb5571ed3dd7b4c4d3fb66d7e0e0fa19908ba715d434c589221bed62ff844db6b03ab31f55e06c2399df48f0640a868d4a9c14673cf2ab6921181d14ff148bae35aed8b41f6d0f5f6808679022b2eaca1402ec5b2b76ccc95f18e31e387d83168eeab734ff4a6c1271c90cf375f12f2cb88ac59217c329626bbd7626a8ac5f864914971384da993ad6b145ea9d85a224cce2ebcf0ca83475539d093c45438ba8314aa99a2df15399dbe39017ca9de25dedeabb27beeefba72f56d9fa28e19cebab4d974c6852d5639d6eafee2c98ea4d92c83819e781cd1ca7cd35fcd2ca62f53a33a851135eb97f4ceb0a165d24913bb470e9a1069fcf1eb35e849bd5455ac4a64e5cbaeabe9174a54c8236804f47914769544aee00bc0fd37d076451d782800b7dd9e896118d342d00f60367004af07a08a81ee01525159b85e74692691458a1a2dd110d32c01aa489f8da191b93d3f77a70e9253f16efae4c5cf9908478cbdab9fb2abc15691976cef5d29abec6a81051848fd258469bd5ef73baedf514fb33fbb7e7276a89087bcd8ae290431143e4116e12d32ce2f97e19fb5c97f90f9c1757f9acfc504041203a7a7b660778bef9742d0313268f789a0300a0360a163a39258e49397e4e0ee2c3246e6aef568a4c34e9a1b6719b9f63dbbc61cab23dd2f38ab3adca648219ec0681178504c5df2168d8aa2fa62c2ff3d956937dbfac556c3e80397da5844e68968317b58a7da04f436fd29328addd4c65e8ea20ffee743f73663286cc0707490ff64aad7e304604f9d72b3e21f51c2b753923ab8cc2c75ce05b4f31701a13d849a54142fbc881a98784ff76aed476ed362b8561049a6f5517b1fdbadcde9f65058d6c4caedab6a1f488d9363794b91884d7af76357a966c37e39cec489bcc68da6dc7b5153b5a6c5605436434f2ee7407fc9cc3fadde8804aad6bea584133cbe8f41c6f1ead870e1c8f759a9ebd2fc1e24aed0a3409986ae3a2f7431db9f580ec5aeef9dce4075942e89453734568fd98d0fb97a31824914c947e37b3c8bd50e4c507ecbafa49bf4a2de183ef2085f3d152ef9d168bb44e39e39bfb1964a0731ab7c10508f9a3eaf7df44dc5e2b82d3ab292c6db92c1a9284c1d8d648371da370835a7ee2f465c7d81d8a6a8fc8bbe11e6ac622342223213acfefa6dbb2c3aa6bdfa6a9a53838224e81ea9431dcd4ac2fb0c2d4ae9dad932d4f39a5416861ca0f3ddc599458ee379d2359c1ff081349536f13f9e174597cfcb14107160ad06cddb7f340206d32f30a76f6746e992dc443fdc30ea6be090742b8bbebece93eae993a1c9ebc13b595d2e9bd67ae8257a14269a972adde3085329f2c2e47d061514189015b161a2aec442ce46fa78bc19d10cd9aa820e9d74f6fca5470f2eff921abee3ea4915acb88e19f15aefa1f22bca9f4519f6b7e45375057ef480ebcaa984e6f9d29448155ed1a2e892ba81f80eacd35204ecce90a29f908eb9a4dc401169a61d80d900c07baf8be0a83b232087d63df8835034bbb4da7b40842d72d57d2cbb39e6c238b2ac0c587c00fd15ee0fc6f90b8ef7cd5ec698ae44038d36b806d1c07a3a3a37e15795eb379cac3bb59d60c8cc4ab0765dc977ead46962477284cd38bf737b87895331765a495e6cf2f5488174cb1354aadd55f24b5d831c16ce3fd11602d046b4040e0767128f10f9831f8d3496894260d980e9200347a5ad201e44bfa1b262f93d72089305fdc4b1cc6a70094e255629e7410a181c80e09651ecdc8aae843b5dbf7a7fae2125756b80aa1e95f2b3688eda0f40e4b902f9328c1bc4887678f7eb08a6e6fc5a7206a5f19a880a66eb8b259fd1c96959613722bbf2d6967c226ee051d550e0c05d93924655de074231e16fc48a72c15267325c24712a067d1753672c1cca2b2a11103a0e1c960cc2c1da6f1ad2db6843b7b6df959291a02e8cef0b39067e6214c4b55bc71fb9e93e180855045a6f6a1620d76a75702d1df81de407cf80339b141815776562610821d03af7d545750ec84f1dd536afc2348327aa0adaa4f3d9fbd18fb9c94f40c18192c724580ae51f90349b9549852cea4026b61fc8018068c71140f703c3c371d3d416286f8ae92b78d5c1e69e7aeddf715c3614b3bc8f54e1229e2a7a3ea5466fc40cc7ebb546a9077d002f413345696f2f351e67733701c1753f77acee723a954385101fac7a02782845ea513d2daf48bc6c104c3a346d78ddb00bd8dd7f1e7273deaa7fff29164866565bbf1c2b8b5dba086cc912616bce69f045816ffa3fc56be3092e161cc4dbbbe2a28031f002de4cc84f7788185ee2811c24b8e9fba47ec560bbddd47e9f5fb205d436936211ad62e20f29d703472b8f67e8313aa8e7408ac8e7d9bb09ea45726203eac168ac38f90bbd719ec6b9f83a35e5d2fc8ace321373b55077bc089149e8fa10d871ec6960f789897af74a5ad29fe1d0b34ea95c8e2691b871581fc1d70155591c17889d74695d105dd0a21370e901ab16d7351c7807ff0ac9b7bfd298dafcf717691d3a196e32bbee23d93b6127c83a7d21823de627dbb104c17667f2e1622d820ef52d976cfa922e1466776987b7f11126ebc92793157add4f1bbf4830502eab607851fa50d974c3f1642dbd8e8cce0f613e00fdba690f8dfa3064ace55da45e92f9aa373c8876e6d4a4a5ff1c67b04caab30a020af68730e1922b3a421fe87c2a54b3ec9dddffbd8045b772fd46ecad9a40c268f2ec865a210a7dd54672fe6eb56d9addd0152a596b07a6af0307abf010e89cad5094d466f6bb0c54de70fb31e1e4256b3190f3f3eb3288dd030cdcd79d19149bb8d69c75f8fbe23fa0e0d0853b2a255356a49fea97cb7efa52040bc993d2cf6a3122872848dd31d67bc4cf0df8ba6f0ac1ba6068ca444a59735f36ba2ae77dc1b8efbcaa11bfd618f3d51587a67e23f12ad5aa530559e224054555446f197ff5e2a199df41b5dfaa0cf8ca612197bced7cc823c9d05db83ac1cc001523e97aae3296cd0af3d1fea8906c88a5a78741109b3a069a79adaad9d4ac3a9a26f5b08d9c91caf36877b68489f19f7136d5703aacf3970b95639f304c4f89d79d78d57f4ca3e502b2854e20663009153db1a46d284f4d67513e5eeb035c7e2315adadcd01f26b25711abb8e035b559145cb857597a8b85a97dcfb25d0520bb42a75dd9218f2676055fd6d193e051cb972c61d16f838af048cef04fa496778dce424994c51905c2135c58db2ffec8485e26806b013d1432f28bde02b827228b121873dd37a286debc83fbd1d9c9fc9406a33a73497087d346516b75447e48e28e0363dd07afbd7aad017f56a7b873d63f8bd10293f9338f761ee8e7fd060623202b2905b719c48b8f695b830271a9c6f3ec51d20067f04bfec8a2620011381e7cd77d166072e53ee5512822c9f657947498693c74a86d3e34b7cebaee0c6817f9a4d2bf874061bbdeb50f822ca3c6e903eb2c8016e63e8013a9965d2b43ed5448f0938b9b3402ac5d5fceac00316ebe2b6dd37395b11effd801add77b8a987ba642af0144095f0bc4fdb57698695afdf1b0e32ecfba496748b538f60aae97260e51247e0b922495a0d452a1ef4011bb793efaf1fca818e235527b8a171ccd367a89a5599f693d6aca736a6d1ff278ce8393cf7b7eb18fe94f64c37fa4a792c2bfaf693784f091cbe6b373e125c1727e1301323eee5b6e0be0ae6c9cf2d8ef73164151fb634a67f4d17b6f368659635438a5072343c675528235974d5a0d17106fffd45452dad1d51f77686fdef4f89ac9542ef5e2ee9efd0a7a7a75b19508990353289238f5a9adebdb00d97ae5b69a54b0f992a4f4e3e1c933dd6769c6b7e2c37071a184ac03a61e94540b9d8a017b1c0031bbe5868510714bebb7b72be5afce114c8c08647aaf1e70b3651578b4b0a026ba2bc2ebf0992cdb23b0045c4c1f1455c29dc24e31c880c9007611fdbb7878a552c68de67ef1f620392d6a9f02a2132126f2fdce465e64308bc4219c5332161080b2d7ff1438f1053e74b4e1f99f8caa3af8efd040aba54d956f2648239f70edff190fd44a45d3412372d981a0bf80fbb624b3d2868f71e5927dd6b3de9ae63a6e2020a59ba62c6877a32868bea8c4413142c8179d104599ad357a09aeb27203e034513a74dad597c1d05666cfaa1e1a6171b663760e0bf0e2152fabd2b8103ae4522192d981d11fa5ab13714d0e12bae25129560f0c12dfbf861e49199eaba91e2e5bcded30363f51d0b42b141e4ee9026ad5c6d3326e56e2592b08aa5ff87d60dd1b55301d9a880e2f95ca199071b6df4ed5e9dd3b591f8cdc7caf57f4a400860ceb24a5fb08e9a167b0d646f7d70fc0003918d0ccd216b907f78a61d3348e2ce66a2fe952ae9f3925306893a957c39990fc09d55b715b98e25c32b95acff5cdc0296f6aeec435c19d35b914d2a143a93b49d855c9a618f05942f8db32ef9c641b83c9720e3a8304efe84d917d1bc5c96a34059086b1e528f314ff20901dba13805916e12c359d42194d0be5a70789ef765b2a9e78cf1d1f72219dab43a5159602d072c06b383493003ceb83cae9a48e18653e7811f9f38dbe379ae722635eabf0938bb72da37b27dc1cbf62bf9716081751783f7b1e78481eb33089c7afba5c884b2f6bc5a174439c06544500fef499c76ab7da7d1b961bcfebc9f17d01122027003d20749618f64cd285d07de5ea7f8654b92b0ce73d949fa80cb3b0b38391f19b24e3b369116ac0f915fea276d93ea59cc31dd579c072d14f3d3c100a419108282cad02977d25b432fe3559e74edf3240f44124d10a908214826692790b3f43e7114aed4f0a3b2e23d5643da28c925fc811dda7178f112425879465501308eed18b0a1c774a09f379dcbb73282f0b28a3d36c8a52ea00a125e099fdaac56a5a3308d37072d298a7f6b06a7c0cfe0123c893887e81b4a8a8f39ce59ae75890d64801c601f02699a2e67af2956fb46c99c2d782e037c4bd792e7c2724bcc3959761162489ea08d4f4f198adaff3e7d88eef80448082e79cd56e56addcea5b64057e0654145e00091c6f6a395b352c700a1138ee1ec6306b977da91dcddc705f62a10e3db6956b8f0e711615ddbcf588a2c5244aaed2f6d14258031de47cc9a4e75875a24c452439f45d330b88fd68531a13773e5614b113587d8e5feb43b0aaef523dc163b77d8d10d73822ff6d1f2ff353463e91d7f8cecfcb4295bec001763856b89ad9344ab0affa0f52e49a2159b6fd5fab8fcaba05fbfd429c878d5a4747095e74a749bfc9afc71ae08c671143f934f99dbbca953b35705c21162aa8daf59e6637ec2b6d6f8d7383e22d05aacd6390dcf9f9cb62cebd7388d7d2eb52a32d2ce8afa3e3c9e6db6d313e9d0287601e41df6f4033c281da4d05a626f53c6bf8cca48596f30ba8fbf2da5ae7a36d28d09be7d991d25cc62d5476858ef0f693bee61796fc4f63a6679a5f1e7a3bd3f8d1cf49ff49d5b1fbb47b319ce78753826d3830b591c21076d1d8385582ed5cabb3b837efa529c17dccaf92d15b6325e179e0902bbe162c741e6791740aefe40df0c51b0f8988df3991e21c108f92e58102676fc8f60cdad3d314a2666814c87b2bed5de5c20299f6692f2520b669eee2cdcf0f36495e5fd849d2528df7a95e571ddf7b630af77c2cd1809818c6985a41c2d9b3c412fff73f15d1b187e4e463c5e6363b307c2aac208af82a4e7bc3593151a719afc7d47e411a27158646ab07ea3aae9004d12332fdf6cca3f65ecb5d90ed8f64021a65a5659b45377c00aabae3925400e19ba840b690e5e97cc777cbfa564433d5aa7d0ae1c9db177f13cc699acce51c246823016610430f9afd08327bb2d234c154f6c701f3ea5416f51a26488b98345bd7c53d59d8d634352b821fd3f55276a7d92baccd817e06b2faf7ca7676edabe4135893453ac33f984eafafef848c405449952741d31ce211aba866c2e5d626a633e0b67e061b8546805dd31b17c958e2e1cab3ea4022bdcf934e70983c15b8a1963592721fc164e08d9564c1cd015887d863f158a6dc0ce4b47d142d15b1f7059a9cf64ad86a6501b5b8352235d79af1402fbda9bd012339db6580cef5e2dc9b7815d23d9be03d533ab9a5e75b8a11675dbe703d84f12de1cf71d62864c1c9eadcb3f22413ce3ad2731f71186e1eb1bed0dc2384f6a517f443a4e4cea387b7e7f26002072ba286c080a863e6ecfa5c38dd6619104ecb5149f6c458ef01d62967c388a60e88be1f16322c19dcc7856885f5acc0ff6a391c8e3c38fee2ba3393715ee2ac9eb214997a7f26d0efc20475a4b823551033e99bd36a1e599f7b73936249f97e3f5c546ab970e6a535047321d487458cd4726bdfbe0c2bc4760f3ff477c388c11fd99dcd69424a7cdc5425c0349c440d04c68ab85f2104bbb5c86f76883d29fe0b53bee1a1bd683761841418cb95dc3132733643aab5ef2b4f0fd4709eb66ee1448ca6946348cf0af53de03b6b8835e497de14c70843aa3eb1f16905165561168388b421efa14e80bd7bda4be2cb3d00eb59d3a28b923b74c37af636b703a4dcf0885b6ced840efc8bad5db5c5daa2b91a8d6a7b7c339a72e17afcd82c004e53367b61f257a5f3d973e476fc0ead63bdf1143ee2d139611c17ceceeb291fa98960f87da7aeea98632fb7174ef450f64e246d37b44ef8ecbf7752c572a69c87078513c03320ef03bbdff27540c1a0a124ed7a5fc41c6b3f85fbd18fb746c8b579cf481c46f46cc426e597e2b1c353328779dc7f722b4678db72365f8e3fa27dc079eea69ed5852bd87e4e68fe598a9a09d5636821ce9701d1b5ef64185cc44c61ba49d5d07fa19939dca81bac5292113a9c8d45966b698ace262fdde3f288a4629b09a65d80b890b78f3b42076686144e0b116cff4dec2d0ae1a9f5215d88687549a669b497e62ddee71ea31a79dd4fadac7b9965598bd60f12e958ca83493b3a5f8e33a25281aa9b7e2d8bee2aad015a5b9f9ee4c8f5c101868094c1db0cd5d141fdb973366648300503439c307d5e618f8a8215c2b960f6784b0f6a3a6f78f5ad3660f55d0ef7c52a7181ab1e4e4f8fbb7b6784689a78f9ee02321a99b8d357859593787b74a6c316bacccfb11015446cd2fa9da8b756c47cc1de32654ba68bc48747921ccbddbcf38dc717aeaf3a3fbf03a4b43b14189686142b20325a451f582fec267d90b5e2fb952597824668994b9263083f5163749cf6cb3c9aa028de6437acb2e2fd8b2415e675d3d0f7d089cccf52141dde1740bdebd68b01905694bda206b44e9f9a3e5c838c5d286c812cec219b0ca25cf62bd175b00d9038a5917752403db6bb3579f4d487626152d89049b1a05875dbd52f619dd1b59e0d61234ea8fa5ed8ef3b07bba9f08326ec9b4c9755d4f24a047ab5dea10c07eda04ae87fffc1fab66eb8a4e12a2003974b69ab4daa640bb0b30c6eb2c62e496ac52969d6d6e2c4eafa7d95818de1052c81a22123922deffbfebe1709109ccb7b2bf6576ea25ada523a607ee66192d2ef6ed4a21bec076bd05e0a72653bef28a79c271aca47bcd52e567ed4c45358b8efbab66f933311e3f14a2f19f2f61c0fcbba0aa0ba31914a4590edd9b14d2a7e77d759fa3e16d7e6c9d3a2cf698132ffee6fa68fc532ef8bf0c9ffc56a6520e2ad30b46e44d59bb9fb538fd06140f02421e4f75f492ead9fd7b8717716d595a4f6ee6f8e211e82031b0954f0792158d7aa0522dec2b5def3b10aa758c967bfb08dbcaf46c03d9d485b2923c9ccf0b27a9078bbcc6e401c6607b94901ed37f5b8510079bac29e1a6fff0306b0f21f27d9fe5c83c0b2635072d213c036b287d3adfebd75523b59915605baa64c73592aa17c260c43d4a07c7a77ae2d04ca248057ddb8204caeff8cf004a7084d0ec9b1cff4e949febbc668e462c2f895c6d5e1a3bb93174d1e1fdb772011d3fbeec394919fba543dd47a326e67a3bda9f16dfed18a5ddaa0bf9a738d3d2578bf6a7560614f452b8f823d71d3c75be304ce132ae5c38c26a57f7bf3324de2d44ada31f837e574833b9ef1c79e91ce8afb3a1fd92e88567eb7b2364ee5cff66abf6973fc94c99aeb74ef0e373fb2d270079a78ef47ab2b2aacc1cafa7685dcb24abde9029dbadcbd1d63d454fde70b5f74c4fc854fecce3bee5c9cd418aaf90c8117f4742338e81ced36501e9a555d25ebb627aec11f681b48dab456b28504c0d12722434bfbd310bf37a8e16498583e58ed182b0813b85c9d00af192c5fa0d8ed59c5d63be1ffb392317873c09e1cab09e617d9d4c036a978ea94f28bbd72f318d316d0ec6da1f6693569bc8052cdfa84c159427fec9dc9140a7450c0cb49beb60654b06dea3317f02ee99473e53356ef33a8ab274ff6673b142be57c4b63fa0b5ab246c9f57ee5c12481f8f172e4ebdcee107fd3e72749977481d6b6c70a260d447b78ed9d24d15b87aa9009608db4d2fb4d5796b0e82b68bbc26d235424146fe121732482d9ddaa1c5c797e53f35cada8c9e93e22931ee9e8fff3bafd4f24a1b77d6225a5803bbbe27f8899750e26e785bf060ad48e8e32c370082fc15b62586cfe8b8b914ac9aec50d3ec42e226fef7ca7fe18f175bcdbd2b79ce1a1c6d3c398893979ca4da07c98e22966c55e6a8b0731d865c10c180e2737a02284fe1b303894adaf219a04249910fca3f29397bb7a104a16e7418f76303d8c5227b2339973c76f54747b0281cb1a5f5a62ad853ef1b2558a7b445c33cb227d4c9ea58db03983ce7620b77e6aba3d29cf15a3896afb4414e645b4dee5290174077ef2fd9bdf72f20600d5b1c816eb6a0f4a9e219bb1d956cf3423a55ae675781764ab4e49cef1853f9e2281c8693201f40d085a364ce7f44baf266a0c3834a72f04d02265901f36277f654bbc91f01f03861f64cbc2d4ff0ea23aa17aecd00a8f81fa42dd6fa07f6d02baa214b0b2b8e2eab16275551c057c486a1978c411d57f43d87927eb79398ad3d3eda6f03e6da1fdeefbb6f76d21cfc582ae999533f5b8b03a56c697c6b077ec829d0ca126b4cbed1ca35d260337850ae8840ba464b9ae527cd43ea009ebf1173a325b33816dd1d76f53299cfa79120853c13c099e50cc3308358c67b05702d86f07d9635cbd32d55f3dbf588f22e97b0848eab1c520882d8d3d7a23edc59722f31572567a9e1b5d81c4f90c4ab96954bf90ad6fe46430b6c798805e2327ab6492ab071dbf31fbd8401830a2b77f79e269fd08943263246bc3e34095b978b40924af5d839242cb700623f1919a52eb5d62960ba278bd2407e3cc79e4cec78054bc70d8323087a9039985bf3f675aaa9b2e09e8b7da88c613018beb0b9a0f3ada018c2a9f5a9f20a8a29594573a6bc75a2854c46ed7bd58e4952b019af1607c65bfc384f9141ad5ac6b6f86bd60772355a21643d965956d52fbdc148146c6a1b98420ab0a54c874c8d7dff1ce068923db1d767af11397a5301ba85bdceec4ec8aad11fe7720c90b7e90c734130c983fcd412693396a272e6278d7ee8c763055823d2d00677d5bc423a56bba27025ee27c8e811ac27373bd6c9c5ffa076d471734034f8a23797468394b51c0fc8d34247042f99c8f63ffd27b7a4eb6e9d5c458e6d7754c2f424225593a69f6bcd901a81dcc12f99c6b9623e9e30c5c5f30d293383373a33ea268b3521ea7d5d836bb7119cb4a0fc385f03e96ed5a45330c55f3ab7ec0648915ddffdd55eb5fbde5510b72fa0e43cb579fa6120d62fcccaa540efc4b86164176a38f8835340c7fef0f3572340ea977e48d7acbdfe2ee86c82da0feebe76317c3a560e98330ad70129f05dca1055a0791903913c139ff3f74ddd07786ba3672b63aa2a7d74066c288c2b3d21753ca56eff220e16a2a33a0bdb762c1904417399b9d34a862e5b1fb9a8ab77dfced94e7f1bae85c9316d8a4ae13019d35cfd2c4ff9f1e28ac1ba96f95533e4ace414961264363af0a6d069d5efc9fd5439312d9c22dc421e57e4e8dd5a0a285720f1c2e2a48b5a14323f81eb0e370602c688f78a9f40b27470acd4d8cc9e64936dd8e7a7ebdf3f000a94ea0cb3c86e515ae8fa27239290ab8e467538ab39d6a96554697a785fc2d57c172a7edc08a02924b2af059b41cbc79add29ded4cdc4f07e7a04199c11dccf18c8ed16f60ef0cde95ed550005caa5f3913d693d8915440417f3d17203d2e2365fe6c2c95ea5f80300020c4ea4adf53c577f382ffcca7dbc1ee16e34a0e0e65efe8f64294d15b87a4ca8ac3c634bc0a96f033ebddaeabd2996784f7e0b85e774c891bede7acf28323611df9a19a1ec991ecf8e43bc0f4d607dbad39a6e744143f694eb06c9fdfc6c10ceee45910b55abc7bfcf4a87f0bf5f4c5bdedb5008a161a6dc196b7c958a62f942015c30097e5b25e7d5987c3adf27dd17ce4246d3e071e6b809aa4beb4ea5c2001d4f05ef6ef076c408319915baaa26b680417bced15e2d446414ab6759549ea2ecf0055cabf0dc01f7ee304c71173c04afa9813d99b55acd5f56330bab1f45c3cbdd4de79d465533916ca2e797bb60efd726e4ba1b5ab8f091e055624445ef34aceb100d3f6b5c620c8f12c955fc04f19ca5ebcfd1ba39bd7f4ed94e20b54b83df2e9562c5dc429793c1b6f314b38fb13abf837cf393e82e227b28c64e46edb7157b0a06f6d2ac07a15fa9a5959ec30087520d3a7b6e2a9477799560457d22b819676f6529098ee76b0731852280c82a66374dbbafbc8d367f02e3e8e184c663a308f0a1c30901fa8d9fe441c81faf33ec3f34c2d4be5f1af43703467052dc182dcdbc98ea13afe71bf9333e5b2f697c44129ade1725a12be53d7e8ea81c374814a3e5825cf5694adde01cabfc1570247499840fd88c1ba47df6830d38509b5066b9ead1ab54280617b112db4c0e39416afa685b263d3c5d7e857a8d200e0c1cdb1dcbc72e3c8dc06dfbd59b4201ab890be7c5f2c7e0f12dbec2f877a533d9b3359fdf509f69322aff9f27baad70aa682b73ddcc21f12dbbf838cc82318e12f86e2d45cb855683fa5f68ee5cac50a9fc86269736bb1327a28334c10402eadda23dab3ffdba605d3877a5e18da11f9ed0cba2a68c33c0e62f5404ffdfc9a12c4ded05c4f439d9e6c18fb16a9d6c4363909fdb03a95a2ff4a11bd73426536778dc45479e7b555a425ada0e06e8f448097b8c0a11685769b9072c269f10358152fb08235d0d1d481db0a27b518122ea136686995c0b5beec5730a90ddea7f8fbb6049c1842d03ad43ac106101d6e7f7d62c72ffd95e94d532b5b9b21ef03f878484047b23e27d403ca426447de3977f107b07eef42715466eca9509ed271ce630ecf8b344967911351f49bba42fb31d3bc4b4a9b8fff1e37e69916fc5383477a9c8c044701dccacca069efad087cc54e1553d5040eea0e339b90e36ef29549cca9596de30d3a475a657785fdf624bb880342167a5da3da5908495ea67a1819136e926f136426f4640d1ec26b825478b952b7f2e153621d7b8e05414ffa398fd0274ff7af6910c99f833b4017be45db0b8ee8c22a8a61ef54c14853c1add290f0eb25f187411f69821939e0046f1f17416c5a3a1c44e6437acae134c9e23c578fc3ddcd3e3d7ee912e6d2337e613884890545e78645b820bf624d854ade930c24fed0b7733bb9437a016498334fac75e1199419227a9bc806b582c8485d694c50368fbaec7e8b593d5af5fb574af15a6b0d8d5a90dece77ff4cf36619d36b0954c6737e317d5d55cc72509a0a88378a27a0b86f7a2a9a15fb998edc917e7465c55b07f896c9db589ddca1e2286ce9a046ed286f53029ddf8bda8334f0dd994a386d85e9529a47f01d552d1fefcedfa8f35df9876bdfc5efc65cb430ad86708e7ecda5f4580649d813677ac0f772b361d37ff277115bdb471314a69dab3f5ca6471840b6f3370122de30ddfc76f2e6844c517fb6ee695ec23cba1901f7a4c7c2616a7681ae103769d5ac4e4679e4749b6b0bac7fea9cc1fed6af8de3728f6f06a81f3486f412a76d5dc5e880e3d9a11d58d815e9382a7356de07c209019505a09b09dbf03517dd56315457d3e7744e8e05c2db84397bd23fc12942312bba047601b44fab57d7badb83b021347e4cbeffa8f18fed9c0b14e2351938ea162d41586e2e453e6f6b365f5baef80487b3fc8a28ccb6e79724425e59d43cefb71717c1aa1804d95519c865a284705747b565415ec84793bef8c408597d8eb8078e6237ed7da815c88020345efe16baf02bcd92ab5ec2dd8ac73b41564ae9721b565495528da563efb59f3f9dab3481cd0115cab7b2e4756d4cebf45b58a664eaf300161bc887e00704aaa6eeb46cc48045ef95f1f6e28ee5ad2e4de9879ee2b6424e884152904c9325cf590274a9e3c827c66f494fe0f87204da3af27a1dbcbaab6848548212b4fed73e782c95e4a7df8da6477cb55aec27340d81bb69d1a63a7aba9ba7667072228b5afef5912a021c9fca4c1629e01f79bd083c029eca4f19894a4cd2c23742ef1d6382aa8b926126cc5d03eddbe8c057c66a01513657c02971c9755ca27819314beb6bd5243117cfb2d1b2c03f01bc180fc0e52b78f89ce737b5f4d4a938dde7e262a50c9610bfafc50f3185712d012a7c71cadab04b5a548951013e7f2fbd2c37523f80e7e1e5d92a9a75e6250e2dc753cfc9a182cbfc56d312b153dcfaea93c2ea03f61d3a878f39912911e40c982217332a20f93308492303c8670eb56f0c1301b6c6e2ca76792ced23ed15738f70c21dc9948b8a2fdeb1f622a8b953a95e69573d98ce618e150def67a910ac7a02c95ca86761d257e3728b3ad66f9da01e0338d5c4afcfe36f6b4064bbbd7f8feaafcc89f51198448105ee17cb5754e991cb1dc6818a846be0d09ddf0d902dce1ea8b70254fc4c3ae75c336e65f6445a49e28e89dfa41baca988c30130169280ea21ac693b67daa1a2133d58e96e008ade393f65a4c3ff4f0c9b7bd0ddc65ce5aa28d02eb248d7e9bd333471d67e2f37362e6c153ab4ef3a6156d3ae6f6a8a3be3a25ca301dc080189e7f0299b70c1a64071b872f8139e5b2c15f552e936e00687146cf15171435df81901578dc663730d8d4aa444898c6845f053d6eb98b5a4b20a26966a4767661d25891118a78538637465b1f1a701b76bb369f9e19c7f8cfa0d9621228847892df863a222efa05f99cfb1eddc0155762fc24e6e3bbdddadd82d5f515d521d746218261d301c74da41f2a91ad20f3ccc41e32ffd7e534a9ff37cae3e2643b9d012385061d469d69f4791842317315ff17de3cff44098212eb0b65c95ade40362388b6e9e2bbba39de9fe678bce85333d15e4b90d5711311485373185620018f66a75742a1f5ea36c70c2bc8fa26af1602c83914768e5e27d2cb38c701f60e953e8ec883bc68ab474d538e47b61bf99bf9db70580a6ffeb5beb3fe3b4c5290e59c13925102ccfb1856eaa4b2493543199a7d648db34e9de34084ed3b6445b4d48206f33d452f736aad61237d2adc31038f1830754c785354bca6e7ebedf2540145563dd5fe0457b9280098d64147656649d81f56e740477959915a9fc8041ff7ea7e6996abf56dc66179c69c94ae6dce102ebd18042c7a0489d9cdf6d4486eec4836d9ebc7a5fd7eef55226dab4f544a3ee017f4df03101ff7d4380af6f35666e2190d54716e33a6352746ef6338191c9f98a181180ab66188d84180df96d88af1367ef9b2824ff2cca2394d6a48adca8f26e2ad9133d74234eb942f37022b44a1f228f007c27e4340029e65577b98f561ce3df5819e75cdefdca50da6334cc9cda28e49fec1fbeb4a034b81e1f73e471384c715630a822b8cf9b47a64e662f0872cf8ba32b3727f50a42a10d107d82cb49b6a56a814aaa4b7a8b9fe9ef9663e5419ceebd50361893f7bb379d0d5145e476dc7e33679ae1a2d12511eeb64016f3a4f4e5e3b6e0661d092c7c54832aeac2f704f7119626f8ff2377ca5edd44e69ee1a5200f085a925865c10fb346818f5d1c3f9d4fed81f79dc51d55a21b2d7a1612030dbf99b9995a9c34acbe2f29a8ab5894dc5a7e330c990c41e16e6e792f4b6a378fde47047ead77a2578263d5436acb18e9e42ae0443547e031acaa120d7553e56b9bcb43c8fccb3728b9e25891fe086649db6e9d7dacbd1a4bfa1125e10fc4e5ce55f74aa768c03b4b5ea312e63002f7f42d91074d95e213c72e2695cb064b373e02b86f828f1811837a45b317086070d3be28ae56477442b5b770f16645b06c00478322cdced67664f38d8912dc82c8b8582e1aca3783adc118ad3d196dfd80f7b920c2a0d5588e1a366245eec505e9383bc92ce71e081f3b6f72b7661bbb471be447388ff8d525ea5577647a43327aca53affa176f2330aae86d7542492f6b1c58d006a063b6fd68ed5e9d8595eb6d1b435f6f089b6fa6dab0a2cd7a5f67a1b1afedbdd92d5e1ec993910b2df1a0c4ced361d9a0271dec5edec9eddc0d3b448a9f22c29091ab709fcefd792e03fb8fa1c86d044f7a14743ae85bcb2dceb390075f28dc04ea3da78d25c8c3a38a854c34db63fb0910b51a040e515a11e3dfe84a6031a1bc68ef77fd067ccf90969b42c59e43ffb6b32b5086c42d238799508df96c5251d6cd9f6a1d4cef511230aa4a265c0ebc285b778d0589a1c9112a47b0fa50fc35e9e5c6ffb26b4faa47d9b6de1d035e5067bfc0e9cff22f94b285f5bf5fcb910889fb5de025fc8304753e9bb488b98279a1a6cc66e949416c6a037af9c8163d9c5f73c6b58185767b4c8cf6fa9066780e50fa87b88af63efb9ba5915ef27de1bc70c00222ada8060b3a49c6c3f5ebe043d76002803cf5e30cbbd301d2b42894690cb147df2b84bf60c8e4457d2aadfad496ff12b35c2347bdcc4f70a8fa01804901e3924858429bd6411c45eb5cc3dd3da62b50354175b6c29bed65f92a5cf48cdb5823e47de7cff99803d0be15bdf02644e556d2c171833ff446f3917897d8bf22aa0ebdc64f3446184af9f53d179b075abdc118a01d8b1ef0cab25a1826c047b3b8e484d2d1158050a2785346affc328ead543907bec10a9c6fcd16ca9e13590c32c0713ebf8d444d337c65fb2743b93670b724340dd3c939b407902a1ca9f5e7f3eb91eb49d9675d69f4cd08ca61143757e12ef5976a6d8697e3b06c4dc4294b2025b1e6b5e16c197ce266d60812294ad4ef754e78b36561b6b646dbd035686c062c4c050f1345c9cd7a12c9407da6d26705b8ad96432be10d62c4dba81ff7a360a78ea0a4cd1dc85d1f982a8f444ad81b79c8f4cf808d201d42c70862718a0da502d06067608abd50c7804aad24ab50214a212745c899c01438635edbb4a86eb71b1f55d41e397e34ee0abd53e811439e6ce900cb9f148a566b5c0fcef33c7573ce734223c23418029e5890af9789b8e8c6fc2a82b503707c7f8f585e977293ab1f82b5b9b83fc205951bf5e96748f3a61e009ed2ba3b4abc305e1dead351e657bf8dcd640f1659862e70574b517a0d08f124aeb4194a7029b2a50242f138158e6c05beece4189f316157c120d30828b9c4f9ea7016c1e11feebe8aa6e2c85bd440cd59947316ddcb16e6abd2abf6a059237017d54898913008296c41c533ca2bc3e215f454fc3fbddc20d3fdab2000d43deb5256c0ed9a8113d77b523763e5fc2f1d9dcd7282b32ad94e34b068783dfe3219e018d75f4457740a8e563fc1f94162bfb02da8fc87e7db2371ff6d81af0e7d8d70be5895aab29898e82e3aa220b5cdf61ca1bd28b660a8c775e11c98d60c227da8637ee180622026d9eaf97cb7eb0319f2c6e9bc48d6229a733435f27be5a2c7d4dc494dc445554a7b8169b969b304a2ab9b549d4bc7d9c98e1c438d76d709c5d045d3d8e394620ca6eb2b649f4582c8da88e1eb46a3bef74d228421796741612f2e44b8f9104ea69383958d027be5753a33753ffd2144d732be38561e2acdb1c1032d0d44c14d61d6966df9f703d610b61b51a7436823ba8776f3b59eac83a3e197f1d57d7c0e16c64514121b2b90a26a17fe118a1e3cfe7227d5e092324d3c250bad24a1deda42fd0926fa78519f27eef6fe22683e3ef7f3b96931ccaaf41b7a2d8fffca16edb57e12564909ef7464922bb221e79cbaf4a4a95fbef74ffe36bfa95344d43d18861e760da83398b30ce1f7ada5a7878431638530f71b59adfe39dd52a4178dc0981cdd53cf20d409c3c75872a739d28995b3da4e4b97fc9d4dcf657ba219444e7d47a4e7bc094183343d4af877cfdd7beb07ec77ba5cd1c1fe3a94b711cf0323722af24a6189a32ae039756daef84438aac4cbcb07dfc3c7ab68b7db2614fb295d77e8fdbfa362efa1a5588780c2f8f4d152ec4f842d37c0b35a6a68e30c1bf3564c106acd2f15f88038a9d2b9efa51b54595f5a5d39c2217f40b97a90072fab1cb4dfdeba95a58821390f6b35669fb0378d9d7d44eaf829dedd86e39e98112401b0d68dcb2df33e47bc38131ad07e1f2550487274a21473463dc35ee6d4fedf523ec166ee89a56206d6c2089acd2d08f59594283ae5cedc8c418691d015582d5aad2e5e0b2f72f139f6bf756df95a0d827b8e30f8087fa01fdcbeba50637b38a33dc8e6f04fb26400da4d378c04ee8eaeb70c5c1b997ea6191b4067b7ba235fe9bd9d7bc139102c4c3cc0f3f13db5307026cbcee1f4db596b44eb43d0f9a040e7b1d417824836b1a16fdeaa7eccacfdce0ddad983d6f9f7262abcdee4bc9ba53831796ae5eb39ec52ec326e654d0c9f4ea059c62b408c1777a94a4e6fb17b0c2f0561bf75eed8be0aaf0f990905794bedd293f6e076def3c954714a08f1f2c97446dfc39c5b045f54d3c933835bda7513d575616d4678ae19b95f329b04786d75deb7425dd0d9b393cbea7ccade7dfdb6766e9595f41759be8c85850a6661722d6399d72f0b71ed94face5df90fee645f2d24e4aac0120a158c4667401b56ce63d3a62241b449fb8c686e5b65ce3d0eacc3f49f4c1cd24c53c69e90e619dd76981a64a1cd067bcc8ac304ec01f8b6bde5d59d36e10488f6a1f5a09cd241f4b50a93fd1ab0a8c7b9ae5a62461ac90abaf2a0d19c402f2cb8c1d4ec40ceeac0e4e4269a0196bbdec262b3234733626482003475976f95bfe441d33c04bddb79dd882bc1e4c6b9e28bb09a17a2aaff1dbb23c564038253b72856d791f3059872b6af05a3f0aac3d4481a9e09e6675e873c93ff9a70f6f6d3e3729002fb5c78ef8fe1cf52b132e4a6055aca75c871943495b3d92796a5f92b5cf1f9abbc103dff987d5d8d2f8d987054db056770815c75ce300f2d01c2b3838aa078cb3648d599a2cd61cff43ef45d417ad58c9a6f624112872a75c43340fb90531b8cdd2a2f0d1621096414f6724408d9b7c51b08564e437c400580d3eb24b16519b279c42d9a9069804aca604301e8aba1aa8c54a508a13e8d40753be8c1f8ee63b597562ae475addacede3d54a8a42dcda70f4b21945c42bfac1f7fc8938672ed2197dd368898aeb3c505596bdc854a7a9f4935e4f84f262c514157be4fe1ff4846c2ce656212a78694d3ec8be92643129b95b13665c67d58347ab344c054f58748763099b2506d7a35710353d34a345e498e8e418920f8ccad3933408611da2b3563400e92db023bdfd480945d9145cc5487d60bcac68af99e627c618a1de2751592a738a4c7df3a839fd626d7528210093957797b1aa7118fc943647cdc4734f9aeb9f4515a8369552ecadc5e5303fbf4aeffaa370f9796f4e281fb4f7ca132868667ef260af0b4299c514322b50fccbc86be5d52cdfb4a26b69fd89b99ffb02661bb5c974a8fff6a2016cdaf6e35f96bdb697f10f854e0613f96afdc38deda9fdd8dc7a5e33bd9b43e5c117c64373c29aae4f8fbf53afaff8d54503031bbbd228d040f29f067236ef8fbb6e7cbc9fc77bff972f7583867423331b5de6b721f9fa2bbf9743f94035709abfd16351d371b307106d2439fbc0c4e0560b0d8bbfd6eca2e9119719820bca070e3662fae6ba246fb7b1c1ce38582a1bb3238953257f9eedc13c3b27417255908494786aba5ccccf6cba0f0d44057ffe2330095002aa981550559d9ecec36bff33d9080699a4beefcc7bde924a4a746bb0b7470c88b1914fe314a3bf2c69ba1d7d6095fe7c5336d485f56491484dd8aa0a7b0c99e319059dde6794305e41d460d77dfe67a738d6d822cfddb5e7d723a580dad88c19a113e5215f9f23aeb19d8dc49b33b2b97c9a6c297b3b9709f2a72297a54895f357624528063ba4aaadb4cd77c3404d6a97ac6eec76e65dc4f9ca666595a5819f3e6a623fbea036971113bf4db5bed149c9fcd7d9ef8b25f9249d660167fc02d3043b5e95c2b0b2cf2d1b81db22a13dcfa4eebddee5b06b7aaf806d2f7f17ace881f0bf1b85ce25126cb169dd4b37adc432e9b39d2539a03c38e1608cac0c7d7ec44e8523acbe061c9c011d379aa97d814b430d6c817a7b479bbb8e4591c78038c9e395323355245fa84f0021ef0f4b3633695b400c9499ac76df1169f217723e3dcc33161e9c2e3564ec44b10f450f030dd2096b4d02c0f3286060f685679ee551808a3f5309b173e4345b1537521b64d81ecd28641e1ae58f9106239a609d5b75b647bd6f66af34d408b0271f8148e08d3e5e2241ef5b027a4bbd15305ec1aa991f3ec97e8fdb9e1a7caf08444e2a0c35df0c7c8318539e5db57d0ae31c25d5379885b33f2d0aaf3d185a9d36e23eb9a0d191a189dc2e25ae5dc29e98ae165b8f09d57ca72687d5becab8a46dbdd3d2ce7ef2467a50115ef731cfbf465c2e5de6f0be6bc023391e8c8a4932e9034bcb696ac930c7ad774d4fc86d282b71b0772e7ac8d51fece54550f8f942a1bea61ad72c0c9c410ed176a9545114bd9533985cedff33d313e224f82d505a3bac880162aa9bb8278be2a0aa6e007b5b620acfd589390c4b86fd61eb9b2a28895d39e24cf9024b5dae57283c6b298a0382379c82edb033d2c97f807995db8eede4b79a7582fed9bf80591f11d1284f1ed92d22cfa791e89ede630aed0f9874d5ca7eb5f4d72859202c8f3c6c7429e0396f2d988aac170cd054ce6f9989728592bc243d84ccacbdf07cf623de6ffdd973d15e0f10e83ff9b24947b2763bd4540da4280943b6cb89e63d10e3f295d80873d0a7823494f6936333d9da2c33deeda5533b583b32e68bbbf3865a5efa674a37e6845aa34ac4ad49c10bb061c9e888364355b4f8e831f7841727872db12846551292b66e1e10d4fd2f3ed4fb491b4f1837411648f96ee1c2f45f52c9e9935b16dfa983f81481287973eed7f8a739ccc0182c92ff6582f1893f96c56457a2e7d74637d910f7289f942ba0b4334d689d48101a124433d7e876328554e0997c911266a26d89d967e45198da1134b026b5edc4d0130f0a6b1d8e24b18906c4773f301a149b700bea0828d5b6a773c433847ccc1eb6a32a27101c7928efe51b7a39bf6f1a093d51502ebc9d76d1879b8213acafd9176f7fe5d8fcf992091bec4c81d4dc469dcc19434d96a426e8bcfd524ddfb0f57e08329277f141ec6cd37b0eb11c46661e735155c4280d85d07bc0aa7c7990727185c404e86957f34c3d2e74a7818c68470a2e062986624186bdd676e5e55596a3aa384f360870154bf920e7a79a8dd8a0d0e28ae26b9e175ea2e7a809145a5a1f1fc0f7bc9e5463a7e4a649afb88d470b628f82a546c10cc8c6b11f7d1d385450f0bed326d9157bc261e3c65e49d9b586bbcdfddc3bd6c05cb86412df02f03e91a14af52de50ec915cf5ea4c3ded089f78138e494f21f28f3e714cf36f30ebd530e7566a80eaa13f8f4aeecd97ec353e04e45c985c55aa5b4c71ac3f034c4efa8ebc0c4c94609810ee6efa33e512af3f0796991a92788a9ddac6bdaf0f06da845659900330953137ba699b9f1acbdefb543b4ab54028b96f7b2e5d3b343307907c667d1f71b1d4c0a7d5b3819ef0a5b6424dce1a4a4a9040aeebc86caaaab80fb8c05e5af3db0d6c8005e9a42ff168e38656a80c04e4e19ef9fc3d1d3762cb9993241b6b9f45f790bd9d84a10b195a3867cb8b25fbb6f3b6148d513649e79df0f7cebe48f2a412d8458cc2411a2963d998f9c63ff3221bf4fccecef4d169df1b8f9cb392a5026c3e1ab3ce9f6362f3ddc18e50e2750823a29fd5fb1302c19e59c8bddece5be8750ec02313d030413fe32f6537eb1b0176953bee18bed1b865b450ccec082921d35112e956bf213ee904be736bd520885463dfaa1ba3020c12cf01411e731427af08fa7e99e1984d8280edc9c313c755c5f8aeb9f6c61440bc63204d2896155e876d33d6dc741d8614d23a4663132510ae138ea8208c918534806427385ccb822bd094aae0bd162313be6dd0792fc932b9841ae352a77a2061640f4684e7659c9815168d58d75996a9d26fe261e8c1d80b9c3f1137ffca0c66de8b040408baa1796cc0540276bf470986b79adf614571b1ba1f818b2ae1fc0ba35f240da55fa5853399701020d9c2b6319714f2a9bba60dec63d84fe10169404497a5b6e8d0710c141ff024764e7df6aa33652009ad75d68ec781a3ecc732db235838dc0fc36553dcc54c77745380737cc11f7e48cb4e6b906a4465bf0f3af6d8a52203dcbabc6a0bcd98746ebfa96ac850f370b0858299111ab181831427a5ca4bb22533a3ec7df8a67bd45febc65821b0ade53cdbb35cc560fb2fd4e72c171d80f7150c547a9db5f8f8649f024d33e63da7e4d74a44465af61d199f4313cfcbf20e9e78c4e6b44b1ff0cf46fd6af767e217061215a08e8f52ea4cf12b0645ccf3bb645f824adb6a582cecd1fb9342bf5d89c97c9406574156f6e4cc2f66c6857874c777331664f0a4a03ce126d1caec8dda569cea01452a05d139e4535ff97c332c883ed80cbb85f7e518bef00f414208337359ebaf96c2a361ec71ad180424adec481bab91017bea05a166d5831857af6a32938d7e40bc569aabac4ddec5f13fdf103eef2b2beeea4b746015af363be5547563396aadc2f29fae47a23b268ef8a6a3f6ce126d9d535aebb988b341bc81e5678ed31bce25a11db5e6789a6b53afed29ffaa4c0ad158d52ed72425a52b7033a3930b552548755708ce735c81e559b8c2e16f8ff4edb281ac0acbb0af523e4e5d6e6396ab9b713ff11ce028a2a5c178e7cec1047b386d9bbac27f4fcd66b79b109820d2f6f6aac6b507f3135cfc829ce8baec19c82426c40f7e9b029305fc95ed821837f96cb97a4b97b968cd96f56ba1649d318fde4c0facdd2c10804d9194fca1717ed7187b854aae01ee133a0336023769f8ebde333494dd63bec117e8055c7f4853a390cfbf6ce9ddf80518ca687c455c394529696285b2fa2bdda6fa005838fa855f5f8a169b76133b26cd5aef557433c4040f1941878ebf640e8eecf171f79d63f5c81cdc5907455f4196716ede5991ac55c41dd24178b0d93259f9b5bda49b47292c20f8c9b2cbc05051f188e66b44f5de7573ada34bafed0fd8eccd66598b6f708d53457419c648ead810fa871be5240e5fe21889516c60666f22eabe480088aa02284c9e426e4e502f57ffbb9bc752a7dfe9265a455909a85f3a489abc7efcd797180212456fb93f9d858d6dc5616223d4a4e08270145d0252d657646c42031b2a9ded77edc1012bba9a2e2e4278a9b52583cc82ab8125e6b60449963a4a33e147d23b723959310151e1b6d0148b49e40ff983e97f0a0d5dad7f7471fdd0f7ba06122a9d2b86e1d4c4fc71e23aa1fb7b0267fddb3a2048b6c3f44260a8280dcbe4b7dd634a0f60586f9c8f37fe4e5d65389a1bdbae36a8e988322d15b50ffc96107ec8a1f09b40e2fa7bd2dfdf14520655fd033434963d01d6da0e52e632c2ff66c784550a16eb10497c4de4f5c5860aecf8f8bc9aa9f9020ca1d738b8e317c9b8d643f18ab631ef7c8802f4f4f1ca049a8931f05f1bef166d4ab461f7772298f8864527b7f3524bb2b30e2f9e6689cd3ee6eb0916ff5c5ff7ac152e79850f228b04ce990be6762de2b22435abf62ac68241932e58ef64379482eb2a0f5d54aa4d4ee8fc0e7e869a0a071b291d90c7911b5e41d45ac60e8df85cfff5083846c4628c5c5273cc9678ea42e26942521c055af02b8f594a0cfe3e656f31d15f984276fbfc910a10709c79fe221c020edc301ef5de186db6a0d531ed800f48b91c9b3126f95356f518b6c14c3f11487b3fb48c2bbc62d748350508cac73772aef05dc24171e9676e97b25f7d97fce18d0b45b2c2e6845a78c17faffd5483d22cb672de54ba565b9798af1568bf37f40c4418c8e0df195e72338b56ac2640584f614d077e8a8dc13bbfa120d39a11a54fb6c3d62dd6de4b0e287577c5ab3f2e8c286fa81b41c72958c61d8f4b7c3e69a1297bfbcba95c1594c2984d53e71f8fe9358cdb6f491583a946158d2729f45b9f600e325f10a24c389f30868c0a298034df44a2423879c1dc824d118b995f27292476672e648fe687c7e143cb88524b9cd786196e4e4bc96fe1fada947d38cc77525f60ec38465d52f734be778528b96dd71fcab72e972aaa98c0b71847a22e594dc85e4747ad52b6bb9ac6583a4d202ba4bb3442168b89047d97335d06d02728950ae1126710c375d164a006ab2604c089cc0ef56bc4a8941bb1db28da22efbf3d73e646d154b2adaa3d986757968770b2efd74f15d489a095fb48fa285a9e18898696da011e0cba042eef9c93d11b4eadbe9172c25ea2fb19d43847ff15731d47d92f64059ba9fd01bdec103562922813a49c4cfb32dd12d701f8666a79c617980045d2ec9409e84f25f912d2afd3c625f928fbf19408de2c99c4b99264f584f39845d6e1ea067617b30c38bea25660b74cc09db67c38f56823dd85b0fc403575f097ffe43f1918f4b92c296f6b5ad82af2331c1001f4223bb3bd7282c0a513d737196c276d855ea4406e027b85ab5a8bb2ebf592f2934bf07d14c7c659b9b9f8580e110ac26cc3b54c22f731fe3ad7154066e9038009adbded74922aba8f76f68e938ea4b3c2e7fd607e959beb5796c8d9bc43d933f28df5d4f48809bec2ece7d462031b923c5c2dcad269ad19dfb2748424fec6d9491ba89a4f36b7a20625f34accbb7fda19818299a0b2e26e1fe07667d8a42e3821cac9b8555e9304e569e2b546c9f4f8f40346b536ead0ee9375f257e39d24e67918e16a706d092971ebe082dfa6c08a1d073d7a44df480d1cdde259033406f8d0cbd81d91c915dfabb2321981bd96f101efa07493f8fec19946a98fa8bd6189be73f17df2d5d7568c2a3dfe8b44e4f5e696612d09e9314553995cf4d0c65d025f76f6adefa5b1a5cd55c630c1a939e5e90d9220792b73056b98ab1f1f54d73a916b39b3de0706201c2449bd92e308feb021c71278c830346f1a87985dadd4762833a7113bcb1bcb06e4c1f498ee33c8b5ac49194f96901b761670ccc18a29d09f9a034b0507eef36214c8286df3796b336ed7408c062b0057063b88eb03d4f4d3a015e036ee12628fe76f1dacebcee99dd03374cfa55e6c0dee82637caa30e61b493a20ed00c7081e6fbeb088bc68d7d434a9be9a59fea8579f66451db7fb9edc67a507619f08ab0ad0e620f858e1659d6a6fe3412f095968eed55daebf48b281b88e87672ec9bf7744ee4b5fc39ec4cbc9a7bb72a6cd602e5901141bd0eeebfd136003bea5b2a074090fff748e2bd299ef8a96b424ba2a1d7132c39d92ee40d79f00303fbfb93fdf0e2f5b99701dde3dc1b41039fee3d4516625e3d245b679dba644c0c66c4d8a4b0a79334f6bc8cdbd93f61c0cf136b8c344a8b4d6fa66f31dce29c5337cf8ffdae0931b7664a9a2136d75fff77d03fcd9d50e90414b085f683cbbd3f3e5dc1e150796575e1934d9130df845b77170bf6b05a6b8963e606cdf20e575a41332a0c7eb6d941d40ab72e61e144f6196d3671195d2281224a5af4fda401348a89f2fbf9b00575021fe8760ea0bff612654192a5b76b434699ee2918ac1dddcbd6ddec90da9d1e8831388345b5a0104f2483e7a688c3214be39db70550d121dac3fad319cc29753eaf8c9ddb70338b8b98c9cd015ba1a2435e5ff76084d5308445a578582bc4b096bdb9ff4add467462c4cf267861af67308ac3fc835c24dc9f7dd5de355b4b3d2129a36d8f0667bda4039887da23f1d250048f91637abed38d1b13e65de8fa49648bf32b45f88b04d82e986c8878a987064f25a3cafcd31fb215041c0909b08ca617f69959f0343d49e995b47a0ba96c2318fc030e3677f6185f976a46622d6c63e1658761fa00e89d92f84e3101bca3cfe1595efd9ec2882819078a71e0d835c052af681b286c8f4f7eae426702dbd0412ece4a5e0cd02f5ed03e4237555ab562d2de124dc3b1a2ba042521ed3e13de2a3516802983b0e3a4cda5f62ec35763484eed5daf7346024e3b1a9e98f22ca14d808fbbc64387524dc8dbfe1fe95b29cd858acfac2393f7df11a8034a5128016b0d935bca622e3d20a87614b950a6fa0b0ff4b5ed94cc485fe0d7ad668f2894cbc5e62445fd56f17792d7d427fc767c97dfa7b1677708062020a15bdf333c1cebf14e44cad0f192240680a441e8e6c503526c06d475a364199947d3b266f1258983284eed2ff2b6baef2c265e7f6ffb5027b3de169ca53d4abd78b77b0f9d03071f1663c37dfaa873631af211f3373b01d757f768c1a3608db59373b4ac23fe979e29a80f3314f01852b79276a9fddcd040b679b981cc84350a3dea077b328ac01f27080cdb8893da2f83fa0fd8fd06dde036b9227a0f1a16916e1f7384f40883b611109f28872afa5e29c8e4d5ebbe18911f9eef4b065b785bc91349180e580eb35c3ba22f949e6d2f966203e9e2b1eba1d0d329d935ea43fb891d4e0dcecc273d9556f0d99d7ce6d501b44ba9adf27d33d4007668517ba55e0e289a8ec069457b9ed8665a4f014f9efa4cdd1ca41e54fa050a2767e4b271be778124f8d3219bea86fc67d213591832bc04cdd1fe8dbbb953d385b10eb5fe19e260407d3a1e96cee1894fa05aafeca19879951ac97b3d571c02251cccc030fffe9723af2b8a54fcdbc39c738de5b20ffe43d0071db0aa43c55f94387c717978957a88b74955cb2e39731e6a72c2ca5c4affb42c76d7e01d3a680fd3367a0dfe771a4ba73981e90da40f60f294772f1d5013655ddb05710c31ffc230ef03be742715cc52b51cb453ab76ada5ce63954bf4b32610e43cf113e2c102070980e542f3ba514f35f8ee41343796a14861199bfd52dbd5e863daeb22636226c4bdf7e03657c1dd80da4a681ef0d4d9f7e58caf95dd6bb5c6fe39a13372d16034aebb60f7bf773385a881793a96bcc4ad626828b5abe6d4422cada4b5593fa940e328beae40f108af2155484a4024ac1d136fbbd7ed941fd4c6d5e5dae0418d32fe89abc576fac1438970402edc0cf12d55a0000a24a0a630111cd91a97083dcde5ee7b4c81726d03d6f4cccd934cd3e7e761471a9dc4cfa81050a91338bac8f8700ad58b6a723bc292dec9c5ed25551373603066a95fcac2a5eb0c49ce60fe45f2a6a3b0101b666b5e1d715a46b56fe547cd17fa22c364ecb4f71a5fdf6a3a744d1282a099c697c5ef6e6b7fb6f5c5267ab280f0a6d421c7de6e7942f3dd5b3d2e10bfe5653ce681afb5473c38b95b936af7ee08680d939f8caeeaa074edbe396299a1ae26643bd0727bda377a632a1b663d93923002b0238dc2cefa65f20ceacd566aa81bc9caac06fea5dbda543788a807c77640fc605aa85d20d934df1999bdcc15c8db3c9fc15acbb939ace3bae13d94989a9401886ea1b34a238c4aa81a57f71175ee2c1cf04c9438a0f0a36ed6b2bcc46b98669cc6742a787f7a70fcfc9bae3506a02de51dd429ebaafca6a0d17d9bd5d2d3e9ce8d3079a248ba33dc86a9ebd8aace8f95a97eab9775bed73eb1a46863bc0e6997fe410baadf6db4cfe1227d4ea768b0a719e51f3e4dd0b841ff910b36e8916019bea921a6d3628acde69b1db187ea8a38c47ee6e972f3a0cb074b2fa477aef8eace12c4f6e6968a53c44930ca2938c48b6351acf4480d0917184593cc7ac43f602ea8f4d930532deec8bd18ec63b9a3f8d783419894d0a504852b57bd60e7d79efb240527b0f3e72749d4cc88f440f73d09df1a155656fa6eded78d87d9c4f487b54067d42a42447dd12fb5b70a07612c6bba134a2ced41039bcda082f0a336b8ff4468f1372a861df375b1dd3dad92fe93e30a3cbea0884429ade1b183213cfa9ba9a8169ca3b784ae88fd9f140972c2346320740f5ee2bef44dab1e215df3beb5be2dfa8729b7c796d606c3147d8ff34ce6dac01ca902e1823cecb9984e37bce1d7a892597550aef348956265f5fee6394e132174c408e9360790824536a0d31982aa8c5bde889e16ed3018c2310ee79c5022113c67a075a38ccef2cfb7452b21311c56821345b2e0d604a958d2dbd341dac579c8fe9548fe15a1d5b55834dc43175b278fca5364db2a8ab5ba859d1ff2616fa76893df3471e9608e808c34576248e532b97225efc3dfe27dc3258f6a5a8e12d638221a87d3673a98d80c6f37886f6f9d69279292079b717c6a8c7fd8764981f986ee3a90e093ce763e1e9304375acf2c16b6c48ec1daed2487ae4d558c800bc83ff53c8b9166e1070532d27f6e064d5688af87610647a6aae00125b2ffd9451ae04a73fd77159d28ac2825ed824214bca633736d15d3fad3c44f39a374272ee43a233d81994c2e515b89f966eb3613ff8d33c9a1bec4ca9bd8436808a3e110d143c7d1c299b9c99ba8ef5407f6d5a9ed211db96fbe0d01f37e7f4ec7e5268f234c357b74ffce7a41d399370cb50a2fd7deee0bbf39ba90c7701c6f24f5b4f17ad4582c60e98869cd7d1bd70f9109f185c6e801c634271c1b11b1f3ac5ca7f746b33a27d6ab4799cbf3ed5570b9dadaa7a259ffe70521d14ae05458280ecf037af49dc029ae3b915b53274d859a08d54f1c90084ba50b987cc4a54dc928858575d8e1fd31f79fb75db1f842d7306328c8d59b3f1ae9557df545bd92751fddb13ae194871de5d24767768397f5fd2cadf50905a09e82e3ff4974c1edb57b3166175fc0de4965cc77adb2ecee241aab67a3dde14e46857f6efe9bff298d206df03e3d28fa20b4df1b6f2db34c8ca41e1515d28394e087e7ab4468b7ba0924171d9eac26278b48ab37f5f0e5273e69ae5a273fb6455c34a4c927cdfbe708de656baf8044eabe6d2158cb10e74b90103db0640d3c418aa4680e404d97408f9b80db089c93079f0b831f6fc3fc01a065557ed8c753b9673d9771f9070c6ab4a1965c3b8a5ff53c202ca27895394ee2f0d80bd905b716eb4913c1ebafd72193d4e2c91e59b3f3fa41d9053dc46cfcb69417299961d42cbb68e770c9893ad6c55d1c4f0c29a700ea40b8d31ca19fd3107191bb5b203b4c78a892932b25f2dc4d2bcb8bf64a91b8bbdd700975cf960ee99cae28d867f06125374dcf8c3abf3bdee8641073676a520a75b2116a76fb5fa9cbf9bdbd2ffb90598dd3e0bbdc1f9c31bcb4dc1858f521f2b403978075fa645bb6d7f70aec7f8508276ede0c683e13d741bab9dd42b796b92ff42288d029e1c7f1c93b3ef5c73bd7385257820a1d79e5d06e5944d5f440960eb8fbcbaef51da04376c0acea4fbad7cfaee6a656a4e2352548fb39dc02a53e6bfa202d2d2205a2446d79381d7567b18ec2134c05c594d257154ca52352d0198fccaf5253001983a1e327a961447122b98617adb9fc72a7c77e9d690eb2e913a49a0ad012bd852c554919b4ac62366d41386a399903084d7289f6b51bfd64645a87c47bb0ac12e88b6cc5593905ac16b25920a627af4a356b3959adf1fef88c75000edc9d811fc2cce91b7a3633864da4ba808a19ef40c2de4214a807eefbe478f3d9de25d082dc5c92832de6840e67343f57e7a5fcca6cb93319173cd33e7dec4fc3a57b7da8a3d8ded614752b9a05cbd0e8b6070b80209c10eafc17785714d01806807de3bedc548ab43a76b41a45fccb807f1b921defb070df82399256de4ad86c15f1288d06c3a640ce481759b69b3ee8e6e9934e5793801b02275600b02ad64652e100c218de69ae52f53f308126010272c65afc85f9869266411a95ee9407bd41c5d5b631c44eb057fa4573bbe46a529be6cfb5967cea8ecd5455a9ec98e8ce6d6fbb259da17f0699d6c84f8f33e0ce15d1c806d74600082cb15bec0894815f1d88a92eae180b51d3a16d31f968045f76629a69118cfd0f320a46eb539b2ff8a5366bba588f46ee324dfdcda40680b79b753ab8b159b87735fafd336597bc835880d95e4fac6df3e841402885a0f790a15d4b7ccb1e29c74b9fc695c350a0b5ac93acce7acb7395d9350e19c16451ef7fe4da50e647fdce13c7e6567d7888c789ea1c2536cdea5442192854a016ef3fd0665d2f6a7a2836b5f1210c736e56e58a42334579e6095288e38e44d3ddc0cefffdd0cdf42f9508fcf232e1c74df578ef222f33f737c3d80d71b68d2e5921eec16113a5aa9d8d1b4b80e6aac7dbbb2998491807553031fbc640aceadac2ad685a72a8c5991099a57dd674387988f2d2345b42838d85a77e423dc2c71aaf0b917080d69e456a702c7b716de2a6b17d097d8b46c43051575d24700381dd9ab768e5b93cfcc453c0772c14ea78c3379442251a6121c7b7ad5b566f147aec6a8e9c342627cb1b4e7fe69e45bf03bd4d272d302173561c1bd442ad03458e1be3b98914052386e5d97aae55cc5ecba0220dfa93d211b16719b3af41fc8019374ec14ce31df8b361770e4802d1c844a0e1071ed969d0ebd08f7495a04fc508f9b996257d5070e442958b33573b57fcbc8a17136cc4a0e9046272e97f08327478efe7a13ee484ce610cba4e888fec67142577c1eb4b0b0d87c80deec67fb9ddc8710c6788cf1c95cf28b41444c1957181ae38538a5200569ebbaf50c4266cb9d540edf3e7ddb6aba94416b28a4a7ac9d7ad64ace59090a4c808ee28261a94b822268d4f434e82ce88380b228c641537bbb9f35929a25995ad4a87af314ee728f8d151b06cb92b2ef20aac793c00a9f1f8d84900deefa1c47c5db2e4f281467f090bc654a2edc21b3e290d1fc630e0e3083a60a8f7aebd942d3b4e5097f56d080afabb95220dfd36cc8748e5fbff5a12e901b5505671667f1dcf613b9e2fadebd68fbbcb8fc04a8f9a840a330ce570177c33a58b1b7b9326b779761521561544216e62f125abb57ddd1a9978112fb9bd345b0258d27cde35a616a76d3ceb280ddd4395f05d8f34f93f4a397d4354d5357e8238479be1cf0879bdc4f3bec7374cca4c3ff8c17c47d3eec3214abce93d444cf1d025fa1784ccd59ed29bb37997f6c5df22f253895a5e384d6018ae0c97ff79dc96d1b6e2184e46c2dfab2d9ccba2766b4853b8915d321f66834d6966cdc173763ca437466674d08c914e11d3ecf65e4a14998df5078f588b6132b3a0ba37e4cef7a245c20472527e713c8e42a4df35f2321375f0acc2905c934ee213d756ef933c716772eafb8970cd21fa00855cae0f787b6726df65ab5e5014cde6055912b883519e1536fee34a878ac89c09659fde6408a74f44669d1fe3f974ca030cfedec7bf6f00ffc03ada8d05841c28f7489d0c91e3c32bfadea1172ee937dd5143eb130c29eca579085614d6bcb2ec7527ebd461351828016bc36b5bbd6299595b5c683a440152032e85a3fabfac9b3bd4e2f66fb6891e2c2b28f0ec2c8546327636d4c102aa3a0a211cd2c45cb409e41c478fadc06c8eec96e3b54a6d65315aa3f5fb85e0d2d233d1d99a9132821dcf6020fbcf354a38c86d0dbcab03d80886ded61150abefbcbb694434831d9532f9e0009473b81ee392226e5d07db0b409f53f12cbe170ab767258f03744567d620cfb007cc7c576f6006baf40f9bdbded4ca9b0c56131e4a7d1f10533c508ed51d1fa2ceea4bc2f49fa3c6347a91ef3a392bfc4c20b4d59309bf2a729b3eba10dc844b99bf587eb2a956e846884302349e10a01f3dca1b585d75dc77bd2466bde754a08a841bf0b3f7b26423a7d28e19611db67f677f58609f34ef73ae9d47a22046688418d082ea7fbfd5f112fa032cd7cc7ecb018e1ec183ba04983e9553b7cf9b08d10bdfabc1bd5a991951d7213850e2ab2a729e60574281f98b67540421cfe54c38ad6a44f9178d9ff95a242128ae535b63775e8fe30722409ad387c61dc2fd460dcec1f616872cce611998d6bfae6ef141dc0d0569a50e06200ccf11ecbbd0f2cec3a50f014f9c4c7b675a5fe256e232c1395ccbc429dd3d56drootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootglibc-2.31-150300.83.1.src.rpmglibc-html    rpmlib(CompressedFileNames)rpmlib(FileDigests)rpmlib(PayloadFilesHavePrefix)rpmlib(PayloadIsXz)3.0.4-14.6.0-14.0-15.2-14.14.3fBf:f2.f! @e@e@eyepb@eSe;ddgd!d dq@dtd%yddccU@ccob@b@b֜b@bb 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)h04-ch2b 1715863272  !"#$%&'()*+,-./0123456789:;<=>?@ABCDEFGHIJKLMNOPQRSTUVWXYZ[\]^_`abcdefghijklmnopqrstuvwxyz{|}~      !"#$%&'()*+,-./0123456789:;<=>?@ABCDEFGHIJKLMNOPQRSTUVWXYZ[\]^_`abcdefghijklmnopqrstuvwxyz{|}~      !"#$%&'()*+,-./0123456789:;<=>?@ABCDEFGHIJKLMNOPQRSTUVWXYZ[\]^_`abcdefghijklmnopqrstuvwxyz{|}~2.31-150300.83.1glibc64_002dbit-time-symbol-handling.htmlAborting-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.htmlCalculating-Elapsed-Time.htmlCalendar-Time.htmlCall-Once.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-File-Data.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.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.htmlElision-Tunables.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.htmlGetting-the-Time.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.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-Condition-Variables.htmlISO-C-Mutexes.htmlISO-C-Thread-Management.htmlISO-C-Thread_002dlocal-Storage.htmlISO-C-Threads-Return-Values.htmlISO-C-Threads.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.htmlKeeping-the-state.htmlKill-Example.htmlKinds-of-Signals.htmlLanguage-Features.htmlLaunching-Jobs.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.htmlLow_002dlevel-Directory-Access.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-Protection.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.htmlObfuscating-Data.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-Thread-Tunables.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.htmlPassphrase-Storage.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.htmlRISC_002dV.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-and-Adjusting-the-Time.htmlSetting-the-Locale.htmlSetuid-Program-Example.htmlShift-State.htmlShuffling-Bytes.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-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.htmlSymbol-handling.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.htmlThreads.htmlTilde-Expansion.htmlTime-Basics.htmlTime-Functions-Example.htmlTime-Types.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.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.htmlfstab.htmlgetpass.htmlglibc-iconv-Implementation.htmliconv-Examples.htmlindex.htmlmtab.htmlopenlog.htmlsetlogmask.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.suse.de/SUSE:Maintenance:33620/SUSE_SLE-15-SP3_Update/708c2966eef44d3b02b92cd04bc8cf02-glibc.SUSE_SLE-15-SP3_Updatedrpmxz5x86_64-suse-linuxdirectoryHTML document, ASCII textHTML document, ASCII text, with very long linesC source, ASCII text, with very long linesA +p>nWutf-8f54d105931d0dc2af1af55becfa369cbe770a6ce3741f22be7671e6ae2357b4c?P7zXZ !t/,]"k%| ^6+GI6kWŚ+NOpD9}CҖ-y0Sl]HQ=\RҌuUW8CJL;p!&1k“zl>ӌ$nQåHd\}mɄwރW~\ kqss~qV3ܚIg2D(վ%M̑ҩq[is(cmOi (O^w@ LRIYb@\1J2B7K=5T[b#ήޣnV*qmQyv(I+c҈hVJ aM1 6STtkYÉz[(f'wF4\тx˅ښ/,z oVjC~K% q,Ou@؝#,E )u/\"<ߕl>F\ wQ\E~[Ah@2BL'Ŏ(;Bؐ)vJXABq*` l: qw>1+?_kh !f F38J.)m# ]uk4MKI<9.\$QÈ&sɅ^[o`݅꒒u\ڰŝD%}2Mp. Y@<띅sՀΗL&qKZo-]!KIujFbM/O.E:EtCmD+4drfkZOaEXsiYbŀ\זHny9)4}mUuלAN0-䡡{ )pFt&!ٚHg"%^!6_Ձ{3c=,jXqЧz ̚{Lr=${V;*jCAKq/#0MHp:3%%@=Qg!jӚ6 Pe ۦIr]Dd{1Ō~Z -[Iif*>f@K@3@2+EZ=ުpcrU``A0wx =BiOD<1eMPb ~i·&8^!~۽c5E2o~tq;dD"UZz1.^gv=`isUz U\QݻwRM~+ I6JȞn4Lѭ+pw\"]Ƹ8fx|]ͭ3 yQUfC-"(6oap}Ǧ]bt'_P'T}_G-/~MrcڪeS963=+07v`m5(t< BAzW*kH>/3ZDn`CCDF.IY[EsFzΝWp]v0ؼm̒PLQo&dZc Z(Vdb.*F\ju98SnދxC}tDV~]6 zjFr/RBn@IF"lF28#:}a;Ǵq$;BȲUΪUXE:%1LޛjHVʻK}wrǿEI˿m8HcQ1ne( ^;aX OqT3dGb[d| `o_5MU+pQ&**BvwSiM.`L>LϋJJ_$^= r>Fy81zޗduAUXt1n3iy:~~yJr"{ŏfՂƾrhW]XFrwf7j/BO&-Ѳ[uכ s#>qa Šf `d/ȘЛghcԑ\ s|˙DA=&V#BhG^}ϸ`,|\&+iߕu󿷆3_2=pftN-q ]cHGAY &}kTWnɏP;"|ǯkxsD|@Γj&v?Пmz"y5UhF4W)(e[,suRZN4T m8 $mbJ.(Vm&Nlwt.UM:̼0x7fS^*:^֦+H}'=|S 3<2 X\jiXC[ԅ*ty!9j(,| r5gVQ;/y.SƒM7dM͕>L1)= p x)=Ӓg9v1ޠkSS*#iaPpx~d bnN,uc1 ="Aqi5Z@;8]1B5? &!ϣWf 6ZE5dۭU_g3lꌇeaz55|Oj.X"5 A-eTefK: u([gT; U64yv"N2]G)[ moWSSK4 Ҷ,Ih>r" H7EN!WjHCB`Wn;g ]݂DK]l2(nH#z~@!\L,7^*{ Uؐ~C]8+~UqX5٪# 4'ttloCwHW# "6PnP_[Lָf&OrCobc+/e)Ey_~")UtclZX \tSzNð"4K `/k0x?9圹`*-PWm=tE.eg j4[lԶdB Mq]ǒ1,q _$唰\?Bsl&=$a,Vi+w+̼Wm Db \5dS4N=+{Ž빼s"5{~,5o4Rx(ZY^̻-kBjnBrR.#Z!X %SX#Ya)Ry۬ZnluGCqhkUDX헷YdSq8qNDԀ4W4>˥~LB-_@>2Lf5cb@tP S:KNMh,c9oDr_YZF=+wR/(mz]`7ˠsTmxB7ӌK;a^6/#Vs]&#|\ePe?doMˏ& ?,NMJ]a=|fxJ lfRf?-,X῾I|A"9}H9yUJ2nC^ZBe ĉ,}6@h OV3V+%K #1aiVC[OUYOb&4G()"L]u ̯Ա $X|n.Y&̀ 1P\zJiK8.Þ4Nn1=08 G:Lp%9_^9vЬקR$Q#~.E*?7u~pU{p~UH;~xa%䅃3<¬Sx>Cvff*̠X)-ctSAbQ!4151}[PauA_Pd'Ѿkmw!t@uM&sy C.nZb&Hqn>Œ]I#22$>"?4W`~d}D {b7KnJ}xuP`l?cEwU"cPDp횫UPvhֲV`4#nG?6E@МzI*C t?Q\KpN1oi &aQ,U~)Gx ?*C OG˛?U&Fi߼ Lbb^6@)M\6u$Ħ~HfrIk>k#Ufz:~S[a#8wn-|3T 4LV.2|8XE]I&}*,wtT_dޤ_kjS!V):xS9~|v*@m8h]=Xe AtƸc /P}(y) 6?=!z/lH_gMI Jdu\;r.W)V[տ[Aq(/WYEwKQG٧ v, ݱPVyW2(CJ֥f '$yG{? ^&zékS ?n+fطQ'H?KgSәnv!aYd!`;kp# \JcGۮFCSkut%I͒-!}O Ri@SA~4>4~̔`ca|ƮX4µHG>j|aX1O)lZ4H*>cKªʀ_2Ep+@דs־y ̃ʅ $wYN4 uPagokbl'V>wtT 8I0y]G쐮13y#,l '&s8["x^;9'`KɥUe^.14SWɌ?P*8N-a¤7z32rV'Gvnl." v>}kf|$bwsz}X(3ǨljHNO wn燍psŀ}fS2Q1GȇBŔW8坜R@b/Mg#&h7Al#%4=O#* Q*7;vLյW&',񌳈ΞXT6)9K~@ rEG9A 2Gt~;4KGUIxkz Q KwqѽzO$Ch]5ǿ!GB[oV|9Ke#2~L&Ř*/b՞['k`;4s RbBhGFސ[fW܆CyKd$|kD+vt:oGG*9Is<7]/gϤeUАlr}Z㢆Ni,إ&{Gg*Ղ?^ϔȺ.$RM8gS`[%7F[R_Ebod>ڇ>y*͙·]8?V?B@Ѩ7ڥb7Yh )؅>n]hE`"©2%Tye_jj~OKAW{P@B~cyY0odZniK2H?'_|씗98;fI':bTtL3i`ȀصSϲ@Vۼ]P R&>zKإ=W 1&߼ \7Lqko|=cx ;NL'#h1?(p/k40)9N7._jNʕ ɼV4 ieg1q@W;Cb=!]I3R5LWd؏*Y3dQ l0DshXNhS"/!ݯP],|~&/W2h,VVSya|rӉ%}xMLVXcfY;In% n"͵u~4%xy &[@Ɠ;xZLL][0hݬLr[Z e7x\2KY pi;T'| %%(N V)кC/P|T'n1xƫx9ĝLT:°IOgwY\>塥ŶBw4f ;1Ik/Ǜɠ= s5prdm".呥!QU悰0nT! IlbrWp@LO_Z{7~lqZWC%:᎑fޟ#%֛!{٩BJA묲f1FR# f;jɏ%cw`5Ѻʛ47se*LBw+ 1h (cvYHw;$~oHݔ xHddnhA ӡch3a0GH%2,K6E塌U>W/`J$tqf˵Od' -Ӫ8ڎfH;v>LX{5+qXAcb60xI,HW; ,vRHExUV%1;y_8>C-) g"Z_o7jOd\nuYW#ͮ 2b\ "CD פ yy<|eYس,} a؁bu"^<ljwL4Җ e7qQ\)}3J|Lzd`ĞdױnAu[VLd2580pڐm}e( zcaH(%x*Ă~%q6H`s^NdN@e/Xݜ\=   d]m6){ـ58ӾiG@[ PYP9zfxG_.7:7#2ojPFT\r .8{~tUMMA" x S\ZH|@'I|1sQGK9-wF GF:ƈʪ fjVx.Bn`k8&e 9LH}ǫRaڀGX|K/;a``%ݮO$s;2Wgx{s 7 xk"ls6$\i17l޲Oc̱LAJYo z=Ӛ%s.C<2j8إ2x|YRUXXL|NݜZG+K)mTZ`E8v!`zm jJ~wO`,@]ɴb|2 {/ * `p؍n t3.$.)z+,_X_`|wW8 0Gg.@_xZɥIe+i6QO08tӻetǝgYmш J"yUAyMQ$ XL}D\1#BnAH`K^`her,ibaqN\ӒbPp Ś4fy:*Y6\#%+ukhcs.!px~6RShTfSw 2nf(}01 xXkJzR>Gnl^)j߷2f\t8Ϋ[4yTNua=|)q~6ހ)R@ rwGQZ&ٵevcTTj)@ n p`BAl`HQpr).t=o%sOҙEoݚ?s.0(s|Ƈƛ˶Kн qb  FHο9`P7ǧd5uͼ9o+Mz\r\Gnw% RH_+RHp0  ';2b|T=6qP!ݞEu-:n,p2LݳΔ?f]|HPR yt (\C#j+V@<)vk0s9/aN['f!m+[T_X┢p+iZѫc3_[H`pSիu,:u..1pؓrYKݙg;#I,ov>2fZC|)FV<[L'ѸEⱹ b#\=~7I(@@;a:ws"^U$i M;4Vʎil'WB=p̡#YϪSc)D "3l^1ϙtG/?@kV}&zoU4:IƮPMD,GE& x׿~}w#A$qyfGئZH{4PC ު5tr |9b5H) TY)0vsXMG%{BO jY{k6t } w2D/G⩫ F+q`2-!(*)t%0 }sN6j+#zE+qU3aX}ՒV$:WQ%/q(z#HrBue@^ʍ3 ]_cch>-ei;R+IM,IS}famG@P%F[6S} 41?CˆKlz$B7C5l~eZ J.zYk\"# O_ol:d y nEC;q'w)do qC1Ea56m2 uf#'goNcY5(AlM]QlΡ$ߧ 8e2$<;ғ!mYԦu%_6ٿA ey ۂ=ܥ̰).l ?Ju,h.@<fU)xُ蛁Eֻ@!_Bl[6 jY"7fJh ?_C]qmwTY21Ur.{FٍI>6iRPKuxa˚a6jBmWQO=%VōDXtX82OO("k\GKo$ypx\p(ÑZmVrO"q=Istҭ7֮$GG5 ީ_5Eob}u؃fIw_N~ȣѡi 큶_Oq(a]lXO`Dvɭa 8}dB$qe=\'V0b/9o5ZC|ooG["|2J pxmZ_6=XJZ=xۘ}QVts{?'C@Տ ,ZEdtwɺubu)x% *0)|@<,s/ɗ~?[NuP2Q^K)C9yDKws 3sOKsoLq[yI SbIbK X-NTk36Gubw3^5t37m #%3;Ġ>ggn/Kv,[a6W4YWBuM.k|9tA! q_fAxbf_t'D7wPmQG#츢/&3'"ȇ;^#(DVkCKº ͑0ZV?ڧLWufb].A ޝ -xv'HrǙn NаUFwZ1*$M]UqԎ1})# V_I'{NvrFN[jKy6t{}s^H\9OL㼰p1d|ʒ&>r*,sQf̲(RD 7ݸXgG9k u:]#>Cѡ]t>-jRӞCj&nG YTwTUV* >|ީGڃ3=|>^ju)Щu;/z3ڷô8uC t"<ճikr״JW!,lS(#4!H1vD!F7ax _Hl BBR #bj!,Y`Ȅ+4;'˧AdTaה&|5v=՚?av"  >pvH cS2 _E/W2"]rVEMpl|^OG8$<%X04òwykyҥgO5e̛5HɅh'ii7fp|`U7#9d0~w"\EĂTZjD,*Pbt EY_HM#-[UAJ>7Y#pB*M)g L+ 4{@g.,Ȳhoy;"gz0w_E {vѱvߜx<7'pCVHc 3~~y}|>}w@7>4ϓ!n͜&-C瓥<:m1@L Ťk!pN]M!Ȁm+}LyDCsPVVF8F.T-Ϩ Q6} ǟp"ɒ9u~˪TD9Sp)\ܰ.cn>ނP9tfEKO|CBkH.a𣭊d"7A;T_bUke2<J@ݓ4T=Wgh+~J d '$,lJB+oalpVgAnGF=SSCv5 陏Z nCkW}*U6l3s1Neq| I Aۭ<6p(7g'Ԃ2l:֍jk҄rN0+"E 9kݛRN-@7wvO>SkYuی<'B¤|1fvHkJtt)w/&Ƶ*r: lyܵ-pS>.%,Eg$\Kp\EgF`ϮnASqLR2ۆK\{aDL5'4;~?i;~sDclڛ(=HꊴE_D&^Fb2b<#o79.$H^ʷ.B%T7 HWr6u?8t9Ũk?`iܰј*'_ڏ&,mV/0iWB-؍6HEf;.'6?v2d·CJ4 ~7-9v~S|(q,{'$疢xwd]nǝXOW".Ѓ0)r ݗ= :Zccbeư 4;uU@LB\u7D#o.$4t̼+뗏eb 6vgj<9 {y\I p{UM.:?Qag6qC˳M-K-~2Mv!? 2!;숚OQ %bɜ1-~| y o}aUdPݏG,ɚ(44s&'̐!M-Vze@aFqR *s*\F FVUCv/XRlzѐ;Yӱvn;pҫxُT| +)2mr&dmq1>K/h_ԼꎲXI8~#<Q9"pV'%5XftUO~q癘} _5ws=94"n=8 /ocAY% :6uVK7P|!fWhbY\\h7;!sMqU0*ZX,ɕZ_buuoWmո:Etk̞כ?#nm28OP iE >pTQ@,&~\<@p´..'f(P5=L<{r׶[wyOZr1{Hs=# 6GI0µBPzqPg0ŐVDL& r͎b7cl X?10k! (S[N"ԙY4aaJ[ )N%m9=>d =>J1j;Yz%Yu¡3q`}X_Acک]*7zC x!>ܰ } [7FyJ$k z`vߓmQPBD2I<;T3k !$ͫ)CQ翉5>MJkk" yK_R=DX(I\*NͰ *eaP΋(rʘ e3ޒ̬HuBٶ񻵹u3w6^Yfu1@."!=$Zr1',?[@Xz.wrQ?J TE/ Jr7;U'U[wj_3皐OD B]t2]sNT>*7^+@Q9.59EY?0 Aю{ټ>炝 0STaM,7KSOU\qE=s&dL~OXOkۊ>@͘+8 :ϧ<.*(5.ܟo/܎R|q9E Z5U,Uv̷Ւ@&:;IxQ~9M>#8e^\xAq7(?`bܮqVS'䑆&;`v`9yynnCs""dQT=ө[sԳ]i|0kME٭d[DdU7Lߊ~}Qwd^ҽRVCS7{[=*>&[Q! ;VTcCT"XԆ%ԝqG4Atk 25ΎDgxie*shiX查Zg1r&_tEӑGVO ٻ$[? ajjXmHaB ~@Ɛt3(t!ga.@Iyqex\֋ܤJn-.)Fn׆#- DŜrC5o`Av5 [Yv)~UEݏ薑RP tEBv ͱwA0rmCP\E_y\:3nMUI1a/f0".;NcDʘvoՒ8uK}즾291]SM:w-z|(^1Hc۽=^hV.SͣOa,Fw ‹CؐYG;woR*.XBfPZ+J{d0`C$@ É`@W1 󋙽r;<ϻeHK#9@VK}bfkSU4a\]qbXHג@,$/;s x9iȰwjFE9}|}<_(e}Ő#4rVԕ MīB81?ʏA[1U5x ? 0^P'b.QP׎}h x#3; 6Vy%gܫlg.$98* MM(bM'%8iamğ˂4Sb_[lFDH,uw.Gʚn"X:36kd} F/ɿR,Jȓq!K1sVd85&rZogB7$~d+ vv4MAGf$7lp@@fx;!*t򼠘B`~.1$k5qoS%N8qr0u酞*-O~[97ԏ.$3;c;,?11fYꩢL5;Gq}P~8yT$ QWtvK=z[+SD(7d.δ=zx`~dmZ.38 .S'NAVNoߖ]Xg 3 kfSNi?WE>BP( /Zf:Q{DFյl{$XyF R,֑ `V2{Z3Bi1&bmh#65? $b>;F%"R†4d H8Ԫ DL2N2X9aAˣuӴ",{ 򢴊6 1J]qMOQ˲\2'[%tgC_E+FBoנ9r&yK)Up͋xΟG!F`1>1nogY24Ћq_N+A<;.ƋϴO\$~]U|)M//hŢ7aV[SUBDarYx+QLIEG`t-3NLm]Y`Os2뻨 ]f9FהUj XT((XEg:V&<+( ?&VB $uy:5:QN2y= bL,QǝPDŽ)ڈ=$muJ?!!=9삸@ɻ|{~v@A_9]E U<2+SG8]bՔ.`ՠ4;Nh@=͛ͨ>G1q%kIY|ދ\ΩJGRߩ6לu%8%go1D#!u_svF-+ [O} Y<`Od%MWvyZi!> r"!DR\hWī %X߰M纤3K C!C\~#IK%S Ix*JTWPݢHa+Qd$Q %X/7l9oBW;? ǥVZe#„\´.X6BNq%{;rpOYk>Up9gEL(,& LxP23q[z$V#i0['g}oʹx'7 B3%t<>x{'.fQ|jQhV>T0+*)Cijyj_6)ϫLʟ釾̵g:;Y}seifN58A8tpj,Ӈ7FԭUw*@5mlz>ްLG(f?Eɱi0$6\QmxOE9|)%CcX^hG:G!e>mZ#,Bvױ +lFNfP,Oʺ^`q8nO{j!F# 9^D%LzBe 7:<7ylD74U3#S M^ Z'-"8!9G-DF'p󥰬< =\r 8 L {\ސT*qa@Gj)-o򏞻5C"-WJte{X1| H'LL#<뫯:7^\-Ff@n_ <,5ֹe$/lU0C'4YYws44nM #qIGS9<F^WkVbgiDԅPHVZp>Sd}Q~@l, ˵ K ~1[!m=OzTIXp0MM?]/5BIj#/)D"iԌ\fF1 <ˆ:@\,W@GI|;͵.r/hVBhzSDr ϡZbXg{eKPm;UEV*c>q! ];b9 LO׫6ђxx/"e(5ҺU: qp(2_$Xؔ~Hr{QFEF4mt`?JfD>ueb=F/)ǎk'z/xN?TphZF%&E22[ClA̷z@(nŎYys)( *bgv۾kp*=H}G#}w0^C>ĹR\Oc:)\M%Rҷz)y㾟KD6DȐ ;oXKZ}8{x?H=eb;n|$|/`#;KdO7/# l_}b2essOF̪4r('Mם}11xp0 ǏAS ?֠[kwB]7񉩋+' aas*bHY͓|SX,oՁR4 G-6"kKO:u &‘+EyN Hk WRwd b%]~=m<0ෆu(q>bs_9s^vЃZ1tW0Na[>_߂@>GU8fM"Qojn^R˪gE_ģƉڞ}?zLHx~ Π ηwUOipjқ&/dt;(9FHvA3'$b5+Kб?BU b&RV3F]뙖t[PE3?%gԣm 8M╻޸%%vXiӅ6L(?`{'0Ij>%xK$^v:c#r#Cn"i2hH3K)xR.i#S(N|7SOl=<0\VY[ ̌` :yۨI{c #n9׮/>45Vў(J9miG$mnSp%2D7Xdm'%:C}&42HhAӖvq:WR RsDqsd࿝X0F|Wd5_,!pR913aYjzAvbiiG&,JT}[ڍمjW*甶k4{Q{HG3C5DelіQ[6Ry\q?ap2&j`{BQVscpgML%ŸlQȪ"UcIu4e:kؿ3in $;,fdʕ>ή"d \̔ >Fv}B}\;cgpB0eľEKWTl\d/db&z]I Xm~ Ow/rvr}@%Oxjm5h)bO06QMm*Lw L E}{ X5L5LY^{ס'~t| ̓Ue&Æ4uEg]( P^0V~@LH576ϣ% pߔIZnwD7T e{nbv1zaRq8f17RH+?>nP皁$d^&85Emr Q1V{Ku|0K'^< *BKuXW+pʖ7lfSB_4EMkQ$چ 83DEX3De*1A#²_3@xVH6 >^f*(x戼"K ;)EaTA(uYM»FWCGD9OKh{J$5FcЋQOT}L̰O'%Z.@Qߜ"q$>B"U\}')(JV{LXH!:{q |x._0*=,j/4b˯_pޛ:g_wh[8 ̡NUiє3xͭk]H(\r 4c|sҧoyΠd!pnTɭKGj*Wd.ҳT>q=ڛ} 3wk^WӼ/蠄i![޺5k2FD.~ #?P'.+UmMaL/]f.gOkR1ڨ:R4q$O+ ۟a7yݯ8hK6y*ãBbm״qMg?Fϩ|#V*?噤`$! #o*DhdԮ[ЖWVWƕ=XkkvbִǗu9{$^Q_]}*^_pj=Vh!KyxBU޹.b9䅳KA\N3t_wԜFLJW~ݻC&=)ZY2V|bJJEp/V~|jT0o`}>L꾿 ^ۣg!G54c>ȩPfyϨ%?yY&sʠej;TbȂ-̭3:?%{`^S%٦?s+^ ׀/,:(Ia2_Ecbj?gY3ޝ Q1[#ꄀxS^8˓Qc2)^&5l/hk|]me-mŲτ4JEc@ TVk)ЀIxB>Bp-FQUT!/< v|uHD{9Đ#Xz$U:Bd֠U?5Gpj p Okyy8v#~p;M1)i%Pl%NsL|8Us2q0WF o4U#4idU"**eD0e!eTˢGVZi|%Pxg3T'jSf)hOSEmq>6>ܸOzF"{My6{Bv&j1((w&D%;7@P1;ʞM"nvAgf«Lڜȹ(X:6jm`;g9@mԔp'=ѳE$ӷ\Piaz'? iӦTHonc {^.I n1T wk|>ny6`6mzsV=NHY#k:z ,uݣ䣸DiXwz]&!3**N5jt(3J`FSIXnTXWWC?TEZŃ,^pV{ ZŮ`eʤ*y/sWn=cXI%?ZV ]*M޸iS>#6nb69`-3]uT[١ J`Nv!^}"i:r1^Hp@2cR7bxrݑcٽ|E&eW Y.9 /\'MK|+^)8r(Fa'n4Co3Aa(+R {7-F$;`vں |#xyҨvO(NS7RtjB/m- UveCџTL͐Q]^ёk4GZa &u Uo !KK!sW;)UbZ=QrOBc%3{\ YW1ZotDLtW@SSէ8w|S)Z6|8 >oJ1@ `+;m{ m!r>ZX9dVoDx΍dg(x{$=% +5^aex@a hMzhbKyn6zWU@Cu.F_4aL ]C/7y:b7=;7ڛq߷ .:~ej0\ӝ(HGw ',^tV$, L+vK}Ȇ-<-s(L^?:.߂v_o{e[w$0٤U"ӠUXX4)>N XXV>px GCMiYi]+]c'J( 0Hů-7Hɷr ǡ%l0$րE?M8 jTԀrѬ|Jt5!j9N(9B0 걟Pa `_oUU/˔iP3i uQEO>$_E_]&T@v~D#j:\en1U8\ɶO,}4 4rg>@VP)(SJO[P1"J5WIBX=lvO0/S]ȗ J^H5c}1aU5"K'xJ;Z4χ\~ՑJs$C9V2ߋ9\!ߖZG=tcxWOC=ePqЏJhɃWEFTPKmDh2h;7ҨtqaN03zF/[UsUk.= l՗. 3^ 3vᚂ`fJ}×Ohᱎ=9+ȀQn4۶dڊU75+[D=*J*jeD"eDH8JLȾR߲N@>ΘH|| Gv%#%=r56A9s1KN3aDڙXܺ*|<kqUU%F!"cg,bN+I1hOyZ2F=1R5Ev6 UQd0hZo\WDwyغ$Kd:)[/-f-`1t'aNw;W9} 1==U uЪņyg1b)yӓkW?ɉ/ΰHLzpOIgnVa`tzZA d:S)󇠯e* ~C p2sF|KwݶC{2JFf;IG4M{qɏXByl&F=d!]YLQI,HjV5-HXYEQqw "5X'k xŷ]E%4(KFа8eׯh`9TWL#gsJo5>~D` 'xRkLY_Q j{ fK~2.$y6+G!||Q 3)ۢI+ )hEZ  hRh8!7d^*4թM@5]ßu:;*1n9"N>5cHשnr4~tH ,Qҳ9k GR>&+5V d٧){fX=:zĎٸۅ[V7W(E]ӉЩD;ɡM*цe}Vzm| [ oK^NǷV-A]cn(y߭b9̃Ոb_c'Hߩ/pGb1;@͕[0eK줶 +-\ FA˛Mo [ɰ` bb 1Jv3FTB \=dw[mGiǯ/XkbY"ѧZxt`mըe5%`@61Ѕg q*5u$WZnn@כDE"@R켄F@W≒ipoJ612i:p#͙2+isޱɍkw8ħfb{B1=*-(ŹGS󑈜XVi許hѠtxO%%FCx@tx9m:FVs X4{:CIoEA2"wy&ʼf\ hlW*CHK#Xaͬ )W;UVIloK-tb1|_pʨbH*FZ׺\jkSYFdyfKpe?ShW.<@x# z+KLYT:V&g౰[UY0]@nTpa25{ڿZ|;h%ۊtuLb7|Un>ڑN0ɯF;lEyWk9E$̬P{Y []U&Ɯ ޾<"m-x}#9Hb>Ip̈́$ 0%8|l@i3A&U.iE[c`C3*؋T3Ŏ!uS} Xi17@!hzРL 4icޕ@ ), ^#ofLGu,ofvjhԊ>\@6VЫϻ0$ q7eTOOG!6Kk]_n4G#=~/ Ez믋%YZenD*j2@`~EZEC=nO0~1vR Z!`P{"c`@w -n؝m33v /R,2QDbCbA붿ѡhR E#\Ũ݊Zwק'{e-r oZdk4]6M"oE҂(,8i=Qh zjDU]2'HRd祂TWGOg/^GĠ1_묏咊Jc>Ou򣛎/DNlsU 2,:;“=K^.8FBs\=lԣ# Un;' f#[hjfƎ6,&2- X(i" Z֫v&=)[EeE Eќֵfq . IndD%qD1S1`C N,+~wx{Dd)\v6CSZ.9>Nk&#_1dʄ!xN>cZ\Y1L-|_H,C[͖ ni;0:PE,zp#XA:O_ #J KH4`t=;j*_UxR 2d˷!DVmԺ 38o~ ~  80@ndhVOflPn3WlpQuv$DC/%'͛ihrtѸ1׋tsގF 3u%Vh##yoHDxHw6i0?wj3 S<8TP]Mt-[ő7U4,lbӕ3( !‰,gؙ,lڪܔ%QEi= *c; Ez숐5S:X3Ey$LAϥ#: {pn Năvds0\*:JJqʌеilrKFPRUVJ8U<j0F U%8vY'OT\U[^,q9CuZ,k\ %b5?+ۮq mv$s& 5eyU=EPx᩾(~iܮex( EL&cuH@xJi%/jq#H,Dl<8<*w&qkxQ_Tyըr&'J &毈8S% cťiYМttu5gT-EO yo\k<^P.0&RDݖ}RZ}A\ 8k' rOevÇ4 sO Bb[^eB7WV]Yڜ>GP-5F=fa=$ш|^]דrĘpΨQ~pdY$Y;dD3bb"Ao3oiѳF|y&7g=V=*e?dQߧztx-rZV?e~2J]M[4}룘wA'FﱨW4f}W2`';qFAD!([҆4@ꮑ'g!ŠMSw~ SNâ ;&ouȌ&7p+8E;Ub\k$qyv*JqѬAf!׈B){\~-428"U"8d2z#cxhsކ8.]+ԉ*لlpƬ /k!r8㸯5s}-c-Ѡ]'7 jFh O= D,^4Ŕ#6ӗ6 yrw?<}6*"R̗,(cCuH8 PȾ9k #NΧYnj!'i6H1%qT/nIɦuF=v\87|}5/Gz?Z.*s$S㔐q}}^`}w5N;xagpZ„2lXtƃx jp;A!T܈[.๖=3*̶SEVmԉ^*&rJCh!9 նu}{DUwvD& S"h` Bѝ:}'v4V,iB¥_U<>8֎+ۆS1d̈́v:+S,m88#Yr#M}G3mt7݋O&9aZ_=} t j_sh+;ʤ j7;!e֪%BZKbOj/lDk i5muZhTdAƻ18Yߥo(Q '0{MdrW/vIt%h$+ijo-97*AK&Q8MPMnj-z0ƥ+mU3T23K M;6hAP*o_s!b,@=Բ?=6_)AYuֆ@? 5AMWe/w/`*F~|^ϳBAK;ΗpF@,l ܫA>ե2J2spL|io fQݱߪR$5bK{LXHc+QUruߍ2Y(Po~Xp dw8/8uDD!/A*%'h f;E1sE@0p,)T?ZJNUFI"վBb4ƿU.(w~tR٢39M9(6=ݍK Y/x: "w`:̢&p0FI6X㽃kY>|;MZ-/9d?bdee^4m:(, %8RR'Ӡ)r!yg?lSKQC< ohfyxZpT/lSFT"<@y _ݕ7m￶ܡ⣑3C,M/|劅q}.wu .GNPy ejDN~BTh7Ԇ/{iXl?qѯ?nX2qءD q$v4A_ۓ[ ^O*ȯdʰ?AW,/B^ЇǏkT»! nЂ[̞BEفm *e]v|tRC ZFv^BJԋdx1tR.8n^+pM9JVX%yz,q?&bg1t|vEpB!0r%חJl(\9MsXD d_SO특:H YC=$D='Elk ,qP" KF4Z ҵA&s[UN='2S}*S6 N%a,vjz}jňg:C|-١ %]js=dv'@tXnݮ!+8 E + OPeȈbCHU0)ɪpxS `0XAA U1%?%#kŠ. WW l;"qwwݒ:$zwAVZ&ѯ0^|/lHKc kkY*[Nj/ Ao/C4( 6hcG S"ɇ KdH#CaLZJ#41Z6Pъ߄EeI*v(uk2L|xaÖo$dU|p6yOv1AJރ m}$l72eak/al_'?wl!עjA] n Cy6/X7"+ջme + q I6ZKM iia 2潰GU&g3U)x@´Q4a[:Y|iD*X Jg-M8#x/DAba Qɲp-qݪmț &A5*:)_dXzW g+  #akr0 ёy;nz+u֯>ؕ.zs|'OoDoKSәAR'"f3~tx t=Sѣ$J3F@c =e1FS[] uP3939ݑi.khj6S6<όq>$=I@c+Lj,m1͂e, *C&ͮo$+{GiS@@ NozҪqBo`oV&o$8oNzt$ ln3XۇSuX__}%KA+ZHݶ&b8 r>X](sdv7P uY$Kqn5"wON$1N}÷u9Y՟,nW]?VPZ>>),n TrE6m&f pcmq KB2^r!)#d͐*Ȳ"|EwjisI3ԝ~B~FvϽ݅H/m[ؐgl;&D4p&YG&눓L(cۮOвc`ecU}= g.tY G;8C绹Gx;[Voly0j5gKHeFv{j.jd'jmWКo{ rWf%:@KtUf;gT 4ൊ}<+JB8iƨeՓiABu4QЪbc,oN}cFy{lanklᾛYz}V547&%1έSI69jzP7HvBZ\jq.Me4?O$A2Ҹ;) b*Y;tq`^w$ӯI"7 r~IsdVP۴/C1zfA/ZXNs:PpMd0H8. OR!ডU9їrSMTT ȶ Tc_)b;Z"kJw% !t]dǚrƝF${hWQ:˿H-B䟯˾m\UA6K6aU 5y<{ K|끒uOki޾PUm||ؑkyM?v$v/z`0KBLCTU4}yLyI-v%cBB$ہD7 C, )fRFЧykĪ[\ʑ2P Ty'fQ'."Q:|L/:fO *F Ԑdz9sLU 1/0l0fC{3̅L ،>A2LWݝ"{plvG?^0 9p#ζ4փA^'%5ɵϸ_exTl_F{ZIRq|'$ϵK@e]r·tu ^VNtLS+Ep qVg|!ATp2pфpχxA9h%ܼI+--Zph^ S̰K1{ FMUKc]>7Anb $ k2ʝcwQ"Y\E;GX5 h:ȩ։4#.l! ܀ٯwgm([y?'e YX% b-\5z+zq=~d0rpx f Hu/=_$;O=j=!7!M~i+u4H-X A"sj}jGve\@$qY(dX]Oh 7A5頵  lgxm:m_|BH⡦QyT-2u:-{WF([3`gFaEI0DC F 7Q bH\b2B=?K#Zza9 6MhzM;_AiQ1yYYԳYhI wj3/{`@SˋP_ճ484)*Ub:ŸBd<1њeg^0PesLgs'>oT*sY"iRЩ]h d'6Nw@iXq jLqɹLta!L&;Pg1PlӺX^ uA#j ]EQFzZL#-Z58,kUm2" \1ɞ(QZȥ 4rqdV1ߏ)h+5`~aEy:=3 8/KV [3jXp$0'% kK1D7rf _S~Ѳmm2sASK+ҶK#jZ>h$ȣˇcqEwڻ:|{}4u١e jD&+!KA@z>xO!c XD&BR}n>'N96D'e^^쒍}BitzWN%D`Hj2@2맘EW1UB| oTm>R D[ߑjc;4bqZ<=܈ţZwe;pAV}S"Iy`#r6I%xs-bafO] y"- }l2IV,~~{n=kO2Fv@R!l2VEnRlx4WɓO:h$P¢U/[L(߶!lQ_e P'߰FEnYUptyTvF.TXNaf^~(>RS71QFT8: Qw}ج.m(i?b<60a2In,1-j0 lI!S ڹv3= ~coiHqvAoUMb>Ҹǰ`ݬ)o9Ko9u塧d5k FW*G2bXmsqZC}ݱ!) ft~vM|^Xh\: P \<=Izj^C{:\ 6+mb):q|)g <(^PBlvd2 Jb2kw"FPc6h,Ce0= KxqVv0{w'e ~m6yc:eu_*P!V^ Z-e̙o=y zx^d9,^2utmtfbX-$Ą(9+|*:`)dA輦#O8|B(Ƣ_G~0z}eQay 3\[|ygr,%SY: Ԇw_ՉoFO|{MZ hΈ7EUZ,sY\]E Bf{80y=r݈ru( ^5û!v޸9!:/8?j#N!@&^:>@@'x'62J'nh&tLTqGܾl+iVh1l76eMoV4)\PVr[&!_ߐKpndz#Ü=~"+%j+;bKeyԡx p΍_#'fa( g)eVI7]|iżЭ5T`%Ho9K $^:Z"ѫ ÖK&gQTLJ' a$+lTkO7ϔ$?qz턻;Q>15ɝ'[1yk6A@rK]Ó%m>..I<׉TN~tb vNYR)4Z)r׵Opwֱ{U{QvݶlWbԀLh]Ս<\z69{9fgdT"4?꬞0 xOFEh!-\GI䗧Oa~+VM -tыXSZWK>(HW`!lsW~kwb6KFK;lp)QJnsJK@( r ˇ3 DUkJ)R{ؒx;[cTGZq=أ-w%#"[_iJ!\\EE8r?n9|ҷD盫Rkt= ӉNZ"Mܨ'u鳈 7m:r$(q\ad|I28 /#>0x3N1>י;.ȼLwп +0 E=JugdYH85<_D%sA6E͚Esw hn|4 ' θ6Hc_㍙.HIhv= Mx| N8n~YDcI 'q.pr ll2t7t.bCL#πE~H*^pI+Y5 O@5{#Wr RCJ8F(ҴFBOkraL(X`)p|y[+'*MtzDvi3=ZDZ)(Ĺn,#\14g C"H\}l>#j1AY8^!'+kzFj9+ .(%,( 3#@78r?lQt`n6T[Y1}02y6U/_;-Y{mNyǸÌnC>(j#tjMO{ x@^_ 2빑kU )dr\=~O Lm=i@U(,7wr$FhN' T m~ &l "t+ o8${ գҎ\B&Ɖ)ǝtlmW}13 6ts+qš%šƖUv`auZR Ya6%>IJ0) iZj<+٥rzٟꚒ%qesO('>5i_ Jy(#1 _(4@$/^ Rkˈb4#4\*(0(\m#fK0rvFR$_i 1Ia+㋈KVp>Fk^,AL2Xq?RuKH;b f`_SϳVaYc,@.ԡ=pM4+(`1ɸ::i%-/g Pn;0o4S;s/jv ӿ[i[gfRқHh򯜆ӿPUiD"B:Dr|#V[t]75:,n;0:"ވq(աpg< Vq@Z#?R&F<^`&/8NA_Ir(ME3LI N__KSrT^~ۄ:vDKZ Mcw$*{)>;Oi*'|4n!8MFN~4W^24RoU+J%/0'1F̄  /vg-~;ageaWbW`Wrw# Asg7X+mذw}!5Iє2#aqP3` kcG? I'^ FeP%hv@Zk'(6],{ yxzUJ絏rV71DJa{.o}e?t9J"15)6LݥD%bny,V!@e<zG>8= 9n] .ExLkW?I_ъ -r>] )S,~|6͍yG`6y'?㫕YhH]jA"{ٕ!t23SxR8IlrIsLf 1S--;Cl 86CrnR{-9P7 +mڤ `2l 76|HF.Z; ,5{&PZCZLM:se8I+J}f *<b([ /8x+cAW.@6Euv`CU֏*~Iuy1"h}3֛ȯVxDQOp !pé<G!QB]̾bM3 {E, JRV Filq9 4"R{QVWx |3[Z];e=o/< I^ @psԛ*iQi iV z\ %^&Z?<0OYoOK<`던%l_71mQ;!CvM],yP K U jx"*ߞ5#&9Shʶ%/cx_t6RzRtrkihiM''Ĝx,Ǣ)%BRYntH8thPY\-L7jDwqo=$\c[!%T K7!9?UiGM1)^:71"+Ԧ֝Ţ2NJ a.\t>ODAȵs v}5 d8m>7,LY,uĚr /h*DpM h%)ð[XATRFޏ8w mpy]-BS݌m-UCbIcl,apD3WO3\u<ui8ONke,1˵42`rqT/! ?64<:]2#" 0+'cqT@ßjxFKх3"vwYiH#5JAY~DÚl9_`#poLѨqM7p[ H[mʝi=ζ:֍[ Lvk)Z2mC&!n3#!3MP4A2zz46t#^T +/#0'8[}j(|W0r:%T E5ڽp7Ll=UWH7fj}V&.>bj2].1L>YxM;ޡ)We|$j8ɣj)h(ty7݁ZYLF3Nm=7kgͷnH&S!-,=Aˎ#u~~"޶1QǫhXzh<]43[-B{PQna|0:Kp^6&| k~)& ~\u.*|*))r!}ƲezC NKG\+!;z7v Qd.fֆ̢hxW )"bzR=cjQWPd~]WZ @So4{Ҧy" oz燄w[8h?jƩsW8;/u$9f":c$ S4Y =Caٙ E%fZ[*Ң6ZNt~^UuV|k$Lota H.HGB1!1qXR8VAD #$E3y߭χ$5ZG GpF $hJh*ؓ$bQGR4}}XfR[xL @N'w67Buxrb&ο!kJ~L/0l i" GtEea^27Df[ex]s/,/ٟVh!pGՇR~BfufrОj { &O7oM未ݨ{ѽ⠔3aʭ#؀r85{XZTgRr\Gh} ߻GWMhxyobbCa?Ʋw׵ #MߥY'{wjyl69$5dtyf'o;{ncUOe#U^숡n-|r.$ߜBcnٌg;)Bzh_]Jab(C!ı'Bsٍa8P2ޕ~},L)&#ԇk`ɱFꙏ!$%}9Cw뚒-򏿣z:XĊeQ?, ȿ3>-oL L1Nğ$  9H[l>am ҵE?/tS=CQ@lF|)GL&ʆ%D8+ZZcɸ>=m ]s34Yycǟ=\R# ^{=HoL 3;]$(aޑtdE c^LT e9vG=BaFHG[Iew,[طcHL='WRaE%PvZUv& ;yE ]D$#`+"pJw~%,L::F%#|xnw?tv[Z'x %%:t/&tw[7 鉶$YݏECsq7vվySأ;]Oi, Wragg(-b)uYp w`#[f3j)m8Fc_hl_[oou#5G+7̠d5IVUM#cBWD)-f"N>a\RA)1v-"Me8t/9:mT4?/6¤XJHo g,c9h {\*{ឧqk)>oy{BjuJfž_>LW d,Y6pȂ*-P;E(HAw|x+'iٻ$oxMҐwz3m.,uw:f&E%Z^X[򲕰jA!av>n*^xc~aۥcuF؆Hc]&qWH"GX@Adx) KrC ι؏N?3$NH mrh<'ai2[.uU A ;AX(.TpKɷ-h VaUmA]&֍P"ؐ%ok}bHJƚp >1 GϭN=ԑj`{@H2t~"WƿEOG\bb2.p}%B*kM׃$#x_oL`U ~g IQ;'r"̐f-1( Һd5F8Qx%jE=u#el0խ*aovN%Z\ nv%5mzЕis4AvdHLd{J@S6o^ W{}Y*}WzBEQY>ߖnJ2T6xS]_tZO3z@K<u<n6jG*bBm8TD HZeIwPؔ k8&@OdӱJi4;Q<~. '4M.B96 wv_*hؽ)k|fL&̉ɴn"˺,.(CE tM ciA.ri{RQٜTϭ/\n8FWvcj\itsN#7 O99  :-|u0 ߯V Ы7xX)-eJe/ByP?/y}[hâ20ȱ>wە/tpxz6ވ6+לB8$9DL`˲o1j-.]l_IpH2jz_D 1 ;kkU鷃91%?NTo4qd}K&c!P0ر"wŰEd/Tpת\7W܅jhLƙhAp mgqKU*z+)-Kgl]k@>6=B%fm11X*S<>XKxѢbE¿vLo2?Cxg06_yݼI"#΀7tiv}K~&}{WxI .;FϽk ~.X~ X]Z#A׾%Io"iq[ߛG7*r4ڎpڷ6P!Cp^Lc/ۙ,urZݔ%4pۗ>N.Lz qd2[(02Xzh,3S#zK-72gͱѪB"OAMS^$a/<o؈+kNedMzUTn(VBv3zsNoϖ5[N;.,vd."4 Ou&<r++FM}PœP1՚$h{^aQ2j=HQׁ/ZFqJVך|aڧƣk]MiJW~x<;zMHSuc\N>, 27@xƟֹrFl8w *u_:.  <,BJRyiAt񢟁qģzC;ɶC!H66q?t{\A< ]VCĠ_=, nB.}}X16d}FܿSѾ $I={/dmN9]Ҹ8 c\$tvBHW.ٺ|덷뺪@H|, yf"POXPA.]PE^-ݿElCm@I8T{X +l ?oXblG^"Ց;ܯ/Fk ]-y-A,3utj,vng&p$cA}bK@i$|hMr Ɂv$b1ټjuyȖ 3T ?deScfөHc^qMBj3S4Tp\e>G֜?>&WӮg(ߑnm\ V|@[ e#&₌s=|߻9`)~t _ւg[ rWRֲc)?ԏ_|p;\ sh_cT2gXMቶݍᨈ 3s WY&]DzW.mF¹!+x G~`]U-TXAh;_*ק؀3_مR j8_1LeDmX]~r)eh(BaC $S]w5܊{߿Cy`ڭmZ zŐZ; FWot_{ȑM8OzLM/ˊ`'͝s]-\+jЩ2y\f2j$T?8TαlhRxYfe ',8 56rY&WJ@֎S+/| PX?0׸alo#L$᧍E`&5(;[#ԬCc$&̅Bu [Ď YS 4'r &0kpI8F ax y!A;G Hx0j#IH TЈ:5!z8q@@:d 0Ovh>0;$p0pPQ;}Fi(Nc{jtpÝ>uʽ'Cr Lo]W3'T<67|&$_tВ;$40H.A8tLfjŷd"t'ב +WA*c'ן #xn=m0rGf55*J/82s,j"Ӆ {W Tc 8W]J3S&FV `!OB9@x2SU ٻ*CR7ʹ^L5+D'Bv:S>3`|O$v[oܦlĪ_+Iv5ߧbE{?VrTg+!Ҋ[n5UzO?DTl\}yƈ`.kHۛ1?n5zd]K Bj] M10D0lٕxɱ3 Yl!nޖpw aiDx?͝1ܘ7mɫ ?1uhUX&3/⯰ckw5ЭO2>n\wda-ؘMHV+Os% Œ&Hn=CHTT»î,KIx洖Q*3O&AwѬ'bDA.VO2^;<}P=߂e"qZМpQ[O%&d( A2,A3 B`|?KFF.Q4-؎8  E~5t38|)'?,Zau׉yn+ 3I5{=`.VB]lh7p,5t).^B?ICt ΁Ɛ~ ]:I&|]#cC"64 4z5=J}-k11;V+_`u=En^I-X<}BF=А(`0S6)v 24G,.ߋ0-jmTy2S#i8vDY5LtG֜lHUb3GD펿2qEXha!JYb<[hOR$|г*/CH-g%Q&ri;!D%hU{65WzPlB~u LhQ_ 9. \wYcDpV{*J4uΐ:>߅"ACE zda?r0YFKsZud6ehVZ;!@Di6\?uʡf+O:.H`Xa4GOj۷\gjÕ8K2kupsUvMƅE6pwCYΓs_IY${)v[K5* _Ƹ";mZYs@|R-&=u6z)~SR:ي,t404xKGl_V2j]!|-K0yi\~tj: o8Zf,&ƒ=Y4*J0@>R50j7sA/ 4s%xJI'JK:"$Ӫ`,MJ lVJ 1Q1~nȦV<Ҵ7:͌mnop[|0s3 RqI a_O}Mg?"x! @yrz%L0Ձ9_66Q6}YHR7;l#%{T?X)'P2{n)e._s2=U G 5,LÁi y(d<?]++5u (Vk+cOz+k@UW7 aaԇ}=%ٔ魿GImOebG0`;YHz ]8_9I3Ga̷@@p-Ga{L;~i''emݽ\LEt? = = 2xPb+w%HhPD)Ş rn1'j-~iviP=)skOݜ"\3]`h]'Y28œ3%~go=xU%Y0-6)KNG0ïe h2n~(Y_FZ1siDfˎ]+V;)pgW~2rS8X&g&#${;eBNNUYß5UZ]Qb8Z;Vv 4 #ZYtpxWos P윳(eZ/qjwWfnڴsJ=f: R}Cϴ"l fn*rv8O*\{Z@/- fv\jvJBgۑT[ C=HA: /*hUIwGj:% ,&V ۸C$:Kerl?hFS{Tyj$$5M+/P%WCFY|ccNkHU2IfMDo=A0qFc?1U[_Pp w~~-08ꬡ hHwG:}<$MH~$L^ܬR'%ON૩E)>zfNֽQ3Rz&ظi*``/>s{#":UӺ!.-pf;NEXk'ɩgSTN(mr2YƄ'3Bloʢ2 (9^Rl]¿!ȹQNIP8Ec$u39jsEiw c,7!Q*F0Q"rƄŶG)l0m.e@~P@+3`[VR Uٰ~J.} bsF8࿔%t[F0| 6#NB)"Lܬ "@QxXTJέ`UF _/a'CmagSR6]-^_K! 6y\oݕuOWB 8Ǧ0t1_{{tQa;1ʧfI27D4o8ÔV VFwʈՇCrBboR%zl`2b`oX8 brpTE? w*ZVЯ isRXCÚuKO6`mݜaGF&2-&MZ2:=fUc-2`XH{Mĸ)7I#p#;>Q{\ 6sJ^>F3JoVXP& 5CM4uTA6CRiFj*'mWGcZޛ"RՊb xJ-8R} hI+ԃ{ nb0aKHj»ha'E, -/X,ݾnf8ƵFů[=JH ͉Bi<_g~LSpq/CK]߾pyVV:q[+>%P e9Ck64" lڢJE@suZ?fPq ;>UBް1˞*Tqt[~s( (wiYq3A 9CA?sBDqodr %F06OS+O(̼ng~̳2Z#Ny8zrmwE@'Fa_ atlqO/n3y(U-- I~ɘ%;.'@9 G,( ʍ_s'Z[/ݖn~+Ϙv<196ǴpǕ3;DUuÄL;w4%H#ӹ!%BX@!O K( LxthwMka%z :@Ps.M~]p$VguYn[c@%)(JekbgB?bEJ~#yݑm;lN(z}?"meEd[ t*/ԍ*nyN&D>T&9bjC qAQfci7YzL/I_뽄;{Ϥэ4pIhU:Q+Jd-ggPctPqyqg'Ҍ싰eFAnnl7EGɎK'f2Gvx#`=jclND1mb(5!-d pF^ zԹݛHL$<$y&v% Q40ޥ˖:$˪MGKWX1C(;-/f3Z?upgYqUVުI4@z(Tlff%+&i&BIm3S,44}ϻ|13gQ݌SCaz*iɾ?Y;JW3OB0뀺e/-Z`=rMF-E#d5^V׫$=%n Y L*ur4P߿k֭XbbFdcP'X5}<@4ʮF=Sl{<ZN"djcQ}E[cFs 4s0|}=eDv92SnU*f"Tl 9Jް/T Pz(GXH1d ۢBV@R#]IQ\Sd^PR{5EgZeZfĔtM2SKL|Aˠ5֪|}·Bj$0Ms2HԽ\rW@iI=eIO NYbFo$ΧE0i]}IHT] -ŦFn4ղ{ rOqA=_BH 7U $new͘b)㎫5K?y ([EQyZ$_ $c]06ED2<ɸhTB(REʽ:o\$J ض^u "^%QP2!֊_|U>zV2oUE߅gB[u3z6oo:e'G1&J{% GP,tŐ\ em1=, ұ5 e-S% `#ʞ|~Qք j^"jQl()Beψѵ`f٣_Bfu}K11ŕ5F rU~K,&qP#.e"411b,֦pg>^bSD9(<ޠB ڹNQ{< ɧ2)jMm~Ƣaj)S)8< " mЯ:2lI,fT~-J:|?:;?jlkR9Q1:MG!+pZGi|1.uz|{Td*8G,]ۜЮ(G4g8ZO@7 ڏN`tVÿufʏ!oRKAܿ&TzyHV~>; wn}JUT(LtV%&dIp%[w/oS1i35_Pq ~ : Be E`CUڥnX_\u=2K cXi㵽>`ψbXԭtSy_ܣOsjxMA~ {6BG$R 8izNT#:*e]I96G:|zpvw ~.Zvf`$bE2 %g/h+z#IN _F 6A`ߑp`9*b"}b.d'[g #@_f"a" $[qCr4٘C;D?,쪒ڱ7 rX''~Hkۘ䃭I8$*%rpvF m~ \ ]5gV @SQ44?|x>$"@cB!ֆ뢊.dEb2ʷU ~3v{U4E"0T6Ihˑ$z zp! "Hܢl}^ Ki_SIZǸ/E`_VUVz~KsڙKX&o&s$#.P.H.I b @DO4m)FRΤ1@E_~PI|8G ^ss T:‰\1\&7\#(]#LU0k D#YжUs=)r`/ QNԥp~[{QarTڄb;6=8o'd&ש|s>Jr?3*:A@S(yGO~O~F`nK>r[`{G 3x#&bF޹Đ=%K>d8 5]15Wno''kR6JOݖEwTu:_/p=1eQ&N`s`zl˶)R)P1OaQߵ:?h7Ǜ\FՉ 6D3/ |gZCZ<e0Y=0E"Aɬ+xg`q[85>R/b"NC2EHJLSm~id:$E uHmݘTl 04 r!©s_ú ]7Dm<ʬQr<^pFjzs8ՙz@UdTx39SJiKOrIv`1$4#g }+y. Sx/2f:ȨrMtbqcvEJsgmW:AL |ǂՋ