glibc-html-2.31-150300.63.1<>,dXeTp9|0j;[-@7'V)mJ6DOC ӫ׀0b&<>H,@$N'uj.>8aL7Z\˅ dF_қJć\5͠/܌]O&s4t3FwB¦ŝǨ 6'w{&ɶ]% Io|F~@TF3`W;Y?Yd   G6D Zm <   $d I 0=  lx(89:#F2GHHIpXXY\\p]^LbL,cLdMUeMZfM]lM_uMtvYzYYYYYCglibc-html2.31150300.63.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.eTh04-ch1cmSUSE 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큤e*eeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeee3c081e24aa3539079e3861db1a2b9e34fe661a9f80d2a441ac7a5cc6b972c873b3cd7f9ab200703a104fae262714c2c4c65525ea1f8888763af6c393379603d6e0aaeb9dfce1ce2494024ad65293c23bdae5b683a502c1a4341e5a28f931238af8e4134d1c033dde0887a49369eedbf716ba28c40563f33627522ffce1529a5792f0e67e37c82e0cc131f64aea3d3c2fdd6d0a592d2ec75396565faa2e2187fba3268e40a28413ebce29936152f844c6ebbf44ee0158f11485d4885832405e3f4928e113f0eaa743356bd182de847711bb66867834e672d5c013ab362122bd0b4e4cc1a93955e8b644fb4342341a1f2ea132fe5934be6aaac633ee2b2b3be6b9a749dd855842dd822e9877ae45970ec42ccb22fc55b5c57db2b68ae93927eb6f7b2841679da1982bfd40b6ae58ece7026cc2d62e1ac105a3fe2e718a79276ff05b75855dc8021e513a1392787484e964bc26df5bb1abe5cc80c8eb3433e12c1ff295a6ebc465d14aeb66afaebe28114f4caea4fc0665203d1050a59052ba6e942aba324001c753ea0cf7b1c130b967f131a7f2d11234207e0a7fbdecd46b5202bdee03e206a4eaac2569e3697ebd09b828ed82919c06158382d5b64a87838cd7f17ab6bf939c98c0bf50674e52aa4ed286c1974d6014177d3d841c54c6f133a1d5f97e5d7d1f1cd6cb9a3e492babdab462dd0ef270eebe90378ac7ed4198bb181d68b8cfa0acf6b4191fda63c2fd3b5a4064d617ddb7d3d71ebffc16a64a2156b47160852e5c18f137b5677fcb9ce74066588fbec78f66f46ecb87c9e2926d91ab469aa6e5e3d33e2a1aa69e967b0037083110607440e8c775bdc9bd089eb9c7d09986174fb186fd8db37803246a66650467570e02acbb11a0f343e65664a1fd71dce0c907895f31b6d212c95d43d21adb18f272bf01a2494bdb352ff14e0b6ca2cb04ae6dd25b59d646340091479fc9a2f86ffded8b4814947cc71d6298ae44ff73e76f5d4fc2148d57a3c924b1b146dad81786d9f8593f26660c6e8c25d992c3ebf1d69986e50aeeb324a3ed0fd133b2f609c9be6dd9724d96835561c47773fb7cb3bbb5dd15f6a406e23fdc8c2e431b0dfcc17cd69810739fcf6539e944916e93d223379198dccfde0a7d665eda6c115f092c65820eb84a003c5047c36117d2c554d0a287655ce2497231ebba4730e42b3071cab520a7910a0620f2d191fc4d24fb0730cbc27815f5b8558c6072fb619b3b53d22bb95fa37edaf73c4fba7e13b15bb4e992bb6129eaa50e9b9e9d3beb1dc42d1d97967669d366bcf8ca379b5c35bfd5dccbd1fdd3bf3f6c6249595b9fd30cc0ba53077ba61c1dab97c3c9079ba8ae8a421d8fc3cbcd523b63cb1910d223239aabd854aa4ab4f18d07754ee94fa4b8ec76c7cbc822c52ad58a26c3ef1315c736887ac77767f86d2c8d3c8770bbf6363a8175ab7f8bd9f2745f570d33bfa7755fcb7b3957a7b1fc5f88fa2810b172344534f48dd6de106d95bdd76aa4a9fbe6209b7aea6ea7cabc5f4a54a80c022b1d4a31fab386bda56b159a2304c1e54ef5dae713fa4c71d2d6ce93f0ca9b2a7cbd969b3b3bcb78cf37e322937ce7480010e4e8f7f4c53cfc9b9b5a41f023915990c825ce40ef28a787a8054b72036e2c3667c78b656bd2ca2b89b4a90f8c8790ac4b10b1973ced2cbd5f15cd128450430daf0ae8ac37a454f697dbcb34946da3365a78db285ca4b16bb5e7635809683304638c6e4ad93f48b7d107c9c701cd765dc31b4b603d03cb5fef33f8eb818b27c2bd74349b88610e9c6ce28b3c0fa30105e57635bc607633204b3dbc5fc39f528286016447f03bbc2e4101e98237959d88e523e4922becdbe88039e2c3d7a6d83223b3664f40a3b2b9e55e03c69b735e4b93d087f3dbc9a41cfe430660809587789b35c6ba5baeaaaa29d2b95fb0fd6ec63a99fba466a777546bb5a2b2b255590d1e921df027a384588c9ddcc3492262cebd5c8be8490255728d95dda267c3ed8d8eef62a690205208c838f979ebfb46eb88a3e8bbe49cb19eb493b1591ba19fab68297999098e7c78339ed5f6884e2f352c2eaf4d4c067cd351759fc1fd4d240471b5c85b1dc52066ff4fe27884a475fcefa3152bb1da410c8e24014cb849f2b58a55536f4d30bd2b17270dd39a21ef9edd062d50a5b7984e3760a78a9493f5338e115545a880631d64fca48f139cc5c86828e0d12496e91a0917e6c7d3f5bfcf03583c0223f045a4b42a70415cff442be7683fde02ee94c65bdccfb05ea4770d328eb2ff8f96c81ae44e963361963b8ba31e2cb78ac213de792011cb30d699ae5623342fc023ad6e4200e9015b7544d1a9749969ccce243251aba1b5b897753a42f2a43928e6a6a60495fe9e79ffc05335e2a9c1896d66f311ed9b2583bebe4294c5871ad5b112639cc6a88bce30663bfbbd876ea0becf4c0b9430b7ed7707f7b904ed0896d8576119735b5692f72685f73484c420040b1241497ac5d246f6bb73e1e857637281be395111889a6f4ae507b56f46479bac93499d618a2f30aa68aeb59903fbc5a5b23135cdb3da76b20b068eac78cf4520d1a7bb4b72f97836a24301fe05d31b2b50180f8b054764e6cc239233c8d6085364b2978ddfe9837a836901203bb4a6cb4f454e4c30d02a70b0061c1b9d5d9ae9bc1cfd2e2457242cd9b6b0bd105b2f89547f62591ac45d2da12836c688bd4c2929f2de04ec3f2590a5a77d146345a7a2abf2637dc9b8be00eb092adec3f781fa0d06593e539c58e77b6fc7403059dfe825fed0d1b5f3996e34f429ff1c624ba722659dc51bd4ef5b3661f593bd6a2b669b22c62c5ef5f53ae1f8157169afc11d55a24f4f7a36d863a68b4be5ea5d48ba42c10875973cff96f76f3458ac9d48e51e7fecacc5cb04189bb13604dfd8eaa06541acfafc980911447334254bda147b2623097eecf8cba88295b6db627cd3dc59ec6f3443ab6ea8a520d35f78f267e6a91020ca1e78267cb5571ed3dd7b4c4d3fb66d7e0e0fa19908ba715d434c589221bed62ff844db6b03ab31f55e06c2399df48f0640a868d4a9c14673cf2ab6921181d14ff148bae35aed8b41f6d0f5f6808679022b2eaca1402ec5b2b76ccc95f18e31e387d83168eeab734ff4a6c1271c90cf375f12f2cb88ac59217c329626bbd7626a8ac5f864914971384da993ad6b145ea9d85a224cce2ebcf0ca83475539d093c45438ba8314aa99a2df15399dbe39017ca9de25dedeabb27beeefba72f56d9fa28e19cebab4d974c6852d5639d6eafee2c98ea4d92c83819e781cd1ca7cd35fcd2ca62f53a33a851135eb97f4ceb0a165d24913bb470e9a1069fcf1eb35e849bd5455ac4a64e5cbaeabe9174a54c8236804f47914769544aee00bc0fd37d076451d782800b7dd9e896118d342d00f60367004af07a08a81ee01525159b85e74692691458a1a2dd110d32c01aa489f8da191b93d3f77a70e9253f16efae4c5cf9908478cbdab9fb2abc15691976cef5d29abec6a81051848fd258469bd5ef73baedf514fb33fbb7e7276a89087bcd8ae290431143e4116e12d32ce2f97e19fb5c97f90f9c1757f9acfc504041203a7a7b660778bef9742d0313268f789a0300a0360a163a39258e49397e4e0ee2c3246e6aef568a4c34e9a1b6719b9f63dbbc61cab23dd2f38ab3adca648219ec0681178504c5df2168d8aa2fa62c2ff3d956937dbfac556c3e80397da5844e68968317b58a7da04f436fd29328addd4c65e8ea20ffee743f73663286cc0707490ff64aad7e304604f9d72b3e21f51c2b753923ab8cc2c75ce05b4f31701a13d849a54142fbc881a98784ff76aed476ed362b8561049a6f5517b1fdbadcde9f65058d6c4caedab6a1f488d9363794b91884d7af76357a966c37e39cec489bcc68da6dc7b5153b5a6c5605436434f2ee7407fc9cc3fadde8804aad6bea584133cbe8f41c6f1ead870e1c8f759a9ebd2fc1e24aed0a3409986ae3a2f7431db9f580ec5aeef9dce4075942e89453734568fd98d0fb97a31824914c947e37b3c8bd50e4c507ecbafa49bf4a2de183ef2085f3d152ef9d168bb44e39e39bfb1964a0731ab7c10508f9a3eaf7df44dc5e2b82d3ab292c6db92c1a9284c1d8d648371da370835a7ee2f465c7d81d8a6a8fc8bbe11e6ac622342223213acfefa6dbb2c3aa6bdfa6a9a53838224e81ea9431dcd4ac2fb0c2d4ae9dad932d4f39a5416861ca0f3ddc599458ee379d2359c1ff081349536f13f9e174597cfcb14107160ad06cddb7f340206d32f30a76f6746e992dc443fdc30ea6be090742b8bbebece93eae993a1c9ebc13b595d2e9bd67ae8257a14269a972adde3085329f2c2e47d061514189015b161a2aec442ce46fa78bc19d10cd9aa820e9d74f6fca5470f2eff921abee3ea4915acb88e19f15aefa1f22bca9f4519f6b7e45375057ef480ebcaa984e6f9d29448155ed1a2e892ba81f80eacd35204ecce90a29f908eb9a4dc401169a61d80d900c07baf8be0a83b232087d63df8835034bbb4da7b40842d72d57d2cbb39e6c238b2ac0c587c00fd15ee0fc6f90b8ef7cd5ec698ae44038d36b806d1c07a3a3a37e15795eb379cac3bb59d60c8cc4ab0765dc977ead46962477284cd38bf737b87895331765a495e6cf2f5488174cb1354aadd55f24b5d831c16ce3fd11602d046b4040e0767128f10f9831f8d3496894260d980e9200347a5ad201e44bfa1b262f93d72089305fdc4b1cc6a70094e255629e7410a181c80e09651ecdc8aae843b5dbf7a7fae2125756b80aa1e95f2b3688eda0f40e4b902f9328c1bc4887678f7eb08a6e6fc5a7206a5f19a880a66eb8b259fd1c96959613722bbf2d6967c226ee051d550e0c05d93924655de074231e16fc48a72c15267325c24712a067d1753672c1cca2b2a11103a0e1c960cc2c1da6f1ad2db6843b7b6df959291a02e8cef0b39067e6214c4b55bc71fb9e93e180855045a6f6a1620d76a75702d1df81de407cf80339b141815776562610821d03af7d545750ec84f1dd536afc2348327aa0adaa4f3d9fbd18fb9c94f40c18192c724580ae51f90349b9549852cea4026b61fc8018068c71140f703c3c371d3d416286f8ae92b78d5c1e69e7aeddf715c3614b3bc8f54e1229e2a7a3ea5466fc40cc7ebb546a9077d002f413345696f2f351e67733701c1753f77acee723a954385101fac7a02782845ea513d2daf48bc6c104c3a346d78ddb00bd8dd7f1e7273deaa7fff29164866565bbf1c2b8b5dba086cc912616bce69f045816ffa3fc56be3092e161cc4dbbbe2a28031f002de4cc84f7788185ee2811c24b8e9fba47ec560bbddd47e9f5fb205d436936211ad62e20f29d703472b8f67e8313aa8e7408ac8e7d9bb09ea45726203eac168ac38f90bbd719ec6b9f83a35e5d2fc8ace321373b55077bc089149e8fa10d871ec6960f789897af74a5ad29fe1d0b34ea95c8e2691b871581fc1d70155591c17889d74695d105dd0a21370e901ab16d7351c7807ff0ac9b7bfd298dafcf717691d3a196e32bbee23d93b6127c83a7d21823de627dbb104c17667f2e1622d820ef52d976cfa922e1466776987b7f11126ebc92793157add4f1bbf4830502eab607851fa50d974c3f1642dbd8e8cce0f613e00fdba690f8dfa3064ace55da45e92f9aa373c8876e6d4a4a5ff1c67b04caab30a020af68730e1922b3a421fe87c2a54b3ec9dddffbd8045b772fd46ecad9a40c268f2ec865a210a7dd54672fe6eb56d9addd0152a596b07a6af0307abf010e89cad5094d466f6bb0c54de70fb31e1e4256b3190f3f3eb3288dd030cdcd79d19149bb8d69c75f8fbe23fa0e0d0853b2a255356a49fea97cb7efa52040bc993d2cf6a3122872848dd31d67bc4cf0df8ba6f0ac1ba6068ca444a59735f36ba2ae77dc1b8efbcaa11bfd618f3d51587a67e23f12ad5aa530559e224054555446f197ff5e2a199df41b5dfaa0cf8ca612197bced7cc823c9d05db83ac1cc001523e97aae3296cd0af3d1fea8906c88a5a78741109b3a069a79adaad9d4ac3a9a26f5b08d9c91caf36877b68489f19f7136d5703aacf3970b95639f304c4f89d79d78d57f4ca3e502b2854e20663009153db1a46d284f4d67513e5eeb035c7e2315adadcd01f26b25711abb8e035b559145cb857597a8b85a97dcfb25d0520bb42a75dd9218f2676055fd6d193e051cb972c61d16f838af048cef04fa496778dce424994c51905c2135c58db2ffec8485e26806b013d1432f28bde02b827228b121873dd37a286debc83fbd1d9c9fc9406a33a73497087d346516b75447e48e28e0363dd07afbd7aad017f56a7b873d63f8bd10293f9338f761ee8e7fd060623202b2905b719c48b8f695b830271a9c6f3ec51d20067f04bfec8a2620011381e7cd77d166072e53ee5512822c9f657947498693c74a86d3e34b7cebaee0c6817f9a4d2bf874061bbdeb50f822ca3c6e903eb2c8016e63e8013a9965d2b43ed5448f0938b9b3402ac5d5fceac00316ebe2b6dd37395b11effd801add77b8a987ba642af0144095f0bc4fdb57698695afdf1b0e32ecfba496748b538f60aae97260e51247e0b922495a0d452a1ef4011bb793efaf1fca818e235527b8a171ccd367a89a5599f693d6aca736a6d1ff278ce8393cf7b7eb18fe94f64c37fa4a792c2bfaf693784f091cbe6b373e125c1727e1301323eee5b6e0be0ae6c9cf2d8ef73164151fb634a67f4d17b6f368659635438a5072343c675528235974d5a0d17106fffd45452dad1d51f77686fdef4f89ac9542ef5e2ee9efd0a7a7a75b19508990353289238f5a9adebdb00d97ae5b69a54b0f992a4f4e3e1c933dd6769c6b7e2c37071a184ac03a61e94540b9d8a017b1c0031bbe5868510714bebb7b72be5afce114c8c08647aaf1e70b3651578b4b0a026ba2bc2ebf0992cdb23b0045c4c1f1455c29dc24e31c880c9007611fdbb7878a552c68de67ef1f620392d6a9f02a2132126f2fdce465e64308bc4219c5332161080b2d7ff1438f1053e74b4e1f99f8caa3af8efd040aba54d956f2648239f70edff190fd44a45d3412372d981a0bf80fbb624b3d2868f71e5927dd6b3de9ae63a6e2020a59ba62c6877a32868bea8c4413142c8179d104599ad357a09aeb27203e034513a74dad597c1d05666cfaa1e1a6171b663760e0bf0e2152fabd2b8103ae4522192d981d11fa5ab13714d0e12bae25129560f0c12dfbf861e49199eaba91e2e5bcded30363f51d0b42b141e4ee9026ad5c6d3326e56e2592b08aa5ff87d60dd1b55301d9a880e2f95ca199071b6df4ed5e9dd3b591f8cdc7caf57f4a400860ceb24a5fb08e9a167b0d646f7d70fc0003918d0ccd216b907f78a61d3348e2ce66a2fe952ae9f3925306893a957c39990fc09d55b715b98e25c32b95acff5cdc0296f6aeec435c19d35b914d2a143a93b49d855c9a618f05942f8db32ef9c641b83c9720e3a8304efe84d917d1bc5c96a34059086b1e528f314ff20901dba13805916e12c359d42194d0be5a70789ef765b2a9e78cf1d1f72219dab43a5159602d072c06b383493003ceb83cae9a48e18653e7811f9f38dbe379ae722635eabf0938bb72da37b27dc1cbf62bf9716081751783f7b1e78481eb33089c7afba5c884b2f6bc5a174439c06544500fef499c76ab7da7d1b961bcfebc9f17d01122027003d20749618f64cd285d07de5ea7f8654b92b0ce73d949fa80cb3b0b38391f19b24e3b369116ac0f915fea276d93ea59cc31dd579c072d14f3d3c100a419108282cad02977d25b432fe3559e74edf3240f44124d10a908214826692790b3f43e7114aed4f0a3b2e23d5643da28c925fc811dda7178f112425879465501308eed18b0a1c774a09f379dcbb73282f0b28a3d36c8a52ea00a125e099fdaac56a5a3308d37072d298a7f6b06a7c0cfe0123c893887e81b4a8a8f39ce59ae75890d64801c601f02699a2e67af2956fb46c99c2d782e037c4bd792e7c2724bcc3959761162489ea08d4f4f198adaff3e7d88eef80448082e79cd56e56addcea5b64057e0654145e00091c6f6a395b352c700a1138ee1ec6306b977da91dcddc705f62a10e3db6956b8f0e711615ddbcf588a2c5244aaed2f6d14258031de47cc9a4e75875a24c452439f45d330b88fd68531a13773e5614b113587d8e5feb43b0aaef523dc163b77d8d10d73822ff6d1f2ff353463e91d7f8cecfcb4295bec001763856b89ad9344ab0affa0f52e49a2159b6fd5fab8fcaba05fbfd429c878d5a4747095e74a749bfc9afc71ae08c671143f934f99dbbca953b35705c21162aa8daf59e6637ec2b6d6f8d7383e22d05aacd6390dcf9f9cb62cebd7388d7d2eb52a32d2ce8afa3e3c9e6db6d313e9d0287601e41df6f4033c281da4d05a626f53c6bf8cca48596f30ba8fbf2da5ae7a36d28d09be7d991d25cc62d5476858ef0f693bee61796fc4f63a6679a5f1e7a3bd3f8d1cf49ff49d5b1fbb47b319ce78753826d3830b591c21076d1d8385582ed5cabb3b837efa529c17dccaf92d15b6325e179e0902bbe162c741e6791740aefe40df0c51b0f8988df3991e21c108f92e58102676fc8f60cdad3d314a2666814c87b2bed5de5c20299f6692f2520b669eee2cdcf0f36495e5fd849d2528df7a95e571ddf7b630af77c2cd1809818c6985a41c2d9b3c412fff73f15d1b187e4e463c5e6363b307c2aac208af82a4e7bc3593151a719afc7d47e411a27158646ab07ea3aae9004d12332fdf6cca3f65ecb5d90ed8f64021a65a5659b45377c00aabae3925400e19ba840b690e5e97cc777cbfa564433d5aa7d0ae1c9db177f13cc699acce51c246823016610430f9afd08327bb2d234c154f6c701f3ea5416f51a26488b98345bd7c53d59d8d634352b821fd3f55276a7d92baccd817e06b2faf7ca7676edabe4135893453ac33f984eafafef848c405449952741d31ce211aba866c2e5d626a633e0b67e061b8546805dd31b17c958e2e1cab3ea4022bdcf934e70983c15b8a1963592721fc164e08d9564c1cd015887d863f158a6dc0ce4b47d142d15b1f7059a9cf64ad86a6501b5b8352235d79af1402fbda9bd012339db6580cef5e2dc9b7815d23d9be03d533ab9a5e75b8a11675dbe703d84f12de1cf71d62864c1c9eadcb3f22413ce3ad2731f71186e1eb1bed0dc2384f6a517f443a4e4cea387b7e7f26002072ba286c080a863e6ecfa5c38dd6619104ecb5149f6c458ef01d62967c388a60e88be1f16322c19dcc7856885f5acc0ff6a391c8e3c38fee2ba3393715ee2ac9eb214997a7f26d0efc20475a4b823551033e99bd36a1e599f7b73936249f97e3f5c546ab970e6a535047321d487458cd4726bdfbe0c2bc4760f3ff477c388c11fd99dcd69424a7cdc5425c0349c440d04c68ab85f2104bbb5c86f76883d29fe0b53bee1a1bd683761841418cb95dc3132733643aab5ef2b4f0fd4709eb66ee1448ca6946348cf0af53de03b6b8835e497de14c70843aa3eb1f16905165561168388b421efa14e80bd7bda4be2cb3d00eb59d3a28b923b74c37af636b703a4dcf0885b6ced840efc8bad5db5c5daa2b91a8d6a7b7c339a72e17afcd82c004e53367b61f257a5f3d973e476fc0ead63bdf1143ee2d139611c17ceceeb291fa98960f87da7aeea98632fb7174ef450f64e246d37b44ef8ecbf7752c572a69c87078513c03320ef03bbdff27540c1a0a124ed7a5fc41c6b3f85fbd18fb746c8b579cf481c46f46cc426e597e2b1c353328779dc7f722b4678db72365f8e3fa27dc079eea69ed5852bd87e4e68fe598a9a09d5636821ce9701d1b5ef64185cc44c61ba49d5d07fa19939dca81bac5292113a9c8d45966b698ace262fdde3f288a4629b09a65d80b890b78f3b42076686144e0b116cff4dec2d0ae1a9f5215d88687549a669b497e62ddee71ea31a79dd4fadac7b9965598bd60f12e958ca83493b3a5f8e33a25281aa9b7e2d8bee2aad015a5b9f9ee4c8f5c101868094c1db0cd5d141fdb973366648300503439c307d5e618f8a8215c2b960f6784b0f6a3a6f78f5ad3660f55d0ef7c52a7181ab1e4e4f8fbb7b6784689a78f9ee02321a99b8d357859593787b74a6c316bacccfb11015446cd2fa9da8b756c47cc1de32654ba68bc48747921ccbddbcf38dc717aeaf3a3fbf03a4b43b14189686142b20325a451f582fec267d90b5e2fb952597824668994b9263083f5163749cf6cb3c9aa028de6437acb2e2fd8b2415e675d3d0f7d089cccf52141dde1740bdebd68b01905694bda206b44e9f9a3e5c838c5d286c812cec219b0ca25cf62bd175b00d9038a5917752403db6bb3579f4d487626152d89049b1a05875dbd52f619dd1b59e0d61234ea8fa5ed8ef3b07bba9f08326ec9b4c9755d4f24a047ab5dea10c07eda04ae87fffc1fab66eb8a4e12a2003974b69ab4daa640bb0b30c6eb2c62e496ac52969d6d6e2c4eafa7d95818de1052c81a22123922deffbfebe1709109ccb7b2bf6576ea25ada523a607ee66192d2ef6ed4a21bec076bd05e0a72653bef28a79c271aca47bcd52e567ed4c45358b8efbab66f933311e3f14a2f19f2f61c0fcbba0aa0ba31914a4590edd9b14d2a7e77d759fa3e16d7e6c9d3a2cf698132ffee6fa68fc532ef8bf0c9ffc56a6520e2ad30b46e44d59bb9fb538fd06140f02421e4f75f492ead9fd7b8717716d595a4f6ee6f8e211e82031b0954f0792158d7aa0522dec2b5def3b10aa758c967bfb08dbcaf46c03d9d485b2923c9ccf0b27a9078bbcc6e401c6607b94901ed37f5b8510079bac29e1a6fff0306b0f21f27d9fe5c83c0b2635072d213c036b287d3adfebd75523b59915605baa64c73592aa17c260c43d4a07c7a77ae2d04ca248057ddb8204caeff8cf004a7084d0ec9b1cff4e949febbc668e462c2f895c6d5e1a3bb93174d1e1fdb772011d3fbeec394919fba543dd47a326e67a3bda9f16dfed18a5ddaa0bf9a738d3d2578bf6a7560614f452b8f823d71d3c75be304ce132ae5c38c26a57f7bf3324de2d44ada31f837e574833b9ef1c79e91ce8afb3a1fd92e88567eb7b2364ee5cff66abf6973fc94c99aeb74ef0e373fb2d270079a78ef47ab2b2aacc1cafa7685dcb24abde9029dbadcbd1d63d454fde70b5f74c4fc854fecce3bee5c9cd418aaf90c8117f4742338e81ced36501e9a555d25ebb627aec11f681b48dab456b28504c0d12722434bfbd310bf37a8e16498583e58ed182b0813b85c9d00af192c5fa0d8ed59c5d63be1ffb392317873c09e1cab09e617d9d4c036a978ea94f28bbd72f318d316d0ec6da1f6693569bc8052cdfa84c159427fec9dc9140a7450c0cb49beb60654b06dea3317f02ee99473e53356ef33a8ab274ff6673b142be57c4b63fa0b5ab246c9f57ee5c12481f8f172e4ebdcee107fd3e72749977481d6b6c70a260d447b78ed9d24d15b87aa9009608db4d2fb4d5796b0e82b68bbc26d235424146fe121732482d9ddaa1c5c797e53f35cada8c9e93e22931ee9e8fff3bafd4f24a1b77d6225a5803bbbe27f8899750e26e785bf060ad48e8e32c370082fc15b62586cfe8b8b914ac9aec50d3ec42e226fef7ca7fe18f175bcdbd2b79ce1a1c6d3c398893979ca4da07c98e22966c55e6a8b0731d865c10c180e2737a02284fe1b303894adaf219a04249910fca3f29397bb7a104a16e7418f76303d8c5227b2339973c76f54747b0281cb1a5f5a62ad853ef1b2558a7b445c33cb227d4c9ea58db03983ce7620b77e6aba3d29cf15a3896afb4414e645b4dee5290174077ef2fd9bdf72f20600d5b1c816eb6a0f4a9e219bb1d956cf3423a55ae675781764ab4e49cef1853f9e2281c8693201f40d085a364ce7f44baf266a0c3834a72f04d02265901f36277f654bbc91f01f03861f64cbc2d4ff0ea23aa17aecd00a8f81fa42dd6fa07f6d02baa214b0b2b8e2eab16275551c057c486a1978c411d57f43d87927eb79398ad3d3eda6f03e6da1fdeefbb6f76d21cfc582ae999533f5b8b03a56c697c6b077ec829d0ca126b4cbed1ca35d260337850ae8840ba464b9ae527cd43ea009ebf1173a325b33816dd1d76f53299cfa79120853c13c099e50cc3308358c67b05702d86f07d9635cbd32d55f3dbf588f22e97b0848eab1c520882d8d3d7a23edc59722f31572567a9e1b5d81c4f90c4ab96954bf90ad6fe46430b6c798805e2327ab6492ab071dbf31fbd8401830a2b77f79e269fd08943263246bc3e34095b978b40924af5d839242cb700623f1919a52eb5d62960ba278bd2407e3cc79e4cec78054bc70d8323087a9039985bf3f675aaa9b2e09e8b7da88c613018beb0b9a0f3ada018c2a9f5a9f20a8a29594573a6bc75a2854c46ed7bd58e4952b019af1607c65bfc384f9141ad5ac6b6f86bd60772355a21643d965956d52fbdc148146c6a1b98420ab0a54c874c8d7dff1ce068923db1d767af11397a5301ba85bdceec4ec8aad11fe7720c90b7e90c734130c983fcd412693396a272e6278d7ee8c763055823d2d00677d5bc423a56bba27025ee27c8e811ac27373bd6c9c5ffa076d471734034f8a23797468394b51c0fc8d34247042f99c8f63ffd27b7a4eb6e9d5c458e6d7754c2f424225593a69f6bcd901a81dcc12f99c6b9623e9e30c5c5f30d293383373a33ea268b3521ea7d5d836bb7119cb4a0fc385f03e96ed5a45330c55f3ab7ec0648915ddffdd55eb5fbde5510b72fa0e43cb579fa6120d62fcccaa540efc4b86164176a38f8835340c7fef0f3572340ea977e48d7acbdfe2ee86c82da0feebe76317c3a560e98330ad70129f05dca1055a0791903913c139ff3f74ddd07786ba3672b63aa2a7d74066c288c2b3d21753ca56eff220e16a2a33a0bdb762c1904417399b9d34a862e5b1fb9a8ab77dfced94e7f1bae85c9316d8a4ae13019d35cfd2c4ff9f1e28ac1ba96f95533e4ace414961264363af0a6d069d5efc9fd5439312d9c22dc421e57e4e8dd5a0a285720f1c2e2a48b5a14323f81eb0e370602c688f78a9f40b27470acd4d8cc9e64936dd8e7a7ebdf3f000a94ea0cb3c86e515ae8fa27239290ab8e467538ab39d6a96554697a785fc2d57c172a7edc08a02924b2af059b41cbc79add29ded4cdc4f07e7a04199c11dccf18c8ed16f60ef0cde95ed550005caa5f3913d693d8915440417f3d17203d2e2365fe6c2c95ea5f80300020c4ea4adf53c577f382ffcca7dbc1ee16e34a0e0e65efe8f64294d15b87a4ca8ac3c634bc0a96f033ebddaeabd2996784f7e0b85e774c891bede7acf28323611df9a19a1ec991ecf8e43bc0f4d607dbad39a6e744143f694eb06c9fdfc6c10ceee45910b55abc7bfcf4a87f0bf5f4c5bdedb5008a161a6dc196b7c958a62f942015c30097e5b25e7d5987c3adf27dd17ce4246d3e071e6b809aa4beb4ea5c2001d4f05ef6ef076c408319915baaa26b680417bced15e2d446414ab6759549ea2ecf0055cabf0dc01f7ee304c71173c04afa9813d99b55acd5f56330bab1f45c3cbdd4de79d465533916ca2e797bb60efd726e4ba1b5ab8f091e055624445ef34aceb100d3f6b5c620c8f12c955fc04f19ca5ebcfd1ba39bd7f4ed94e20b54b83df2e9562c5dc429793c1b6f314b38fb13abf837cf393e82e227b28c64e46edb7157b0a06f6d2ac07a15fa9a5959ec30087520d3a7b6e2a9477799560457d22b819676f6529098ee76b0731852280c82a66374dbbafbc8d367f02e3e8e184c663a308f0a1c30901fa8d9fe441c81faf33ec3f34c2d4be5f1af43703467052dc182dcdbc98ea13afe71bf9333e5b2f697c44129ade1725a12be53d7e8ea81c374814a3e5825cf5694adde01cabfc1570247499840fd88c1ba47df6830d38509b5066b9ead1ab54280617b112db4c0e39416afa685b263d3c5d7e857a8d200e0c1cdb1dcbc72e3c8dc06dfbd59b4201ab890be7c5f2c7e0f12dbec2f877a533d9b3359fdf509f69322aff9f27baad70aa682b73ddcc21f12dbbf838cc82318e12f86e2d45cb855683fa5f68ee5cac50a9fc86269736bb1327a28334c10402eadda23dab3ffdba605d3877a5e18da11f9ed0cba2a68c33c0e62f5404ffdfc9a12c4ded05c4f439d9e6c18fb16a9d6c4363909fdb03a95a2ff4a11bd73426536778dc45479e7b555a425ada0e06e8f448097b8c0a11685769b9072c269f10358152fb08235d0d1d481db0a27b518122ea136686995c0b5beec5730a90ddea7f8fbb6049c1842d03ad43ac106101d6e7f7d62c72ffd95e94d532b5b9b21ef03f878484047b23e27d403ca426447de3977f107b07eef42715466eca9509ed271ce630ecf8b344967911351f49bba42fb31d3bc4b4a9b8fff1e37e69916fc5383477a9c8c044701dccacca069efad087cc54e1553d5040eea0e339b90e36ef29549cca9596de30d3a475a657785fdf624bb880342167a5da3da5908495ea67a1819136e926f136426f4640d1ec26b825478b952b7f2e153621d7b8e05414ffa398fd0274ff7af6910c99f833b4017be45db0b8ee8c22a8a61ef54c14853c1add290f0eb25f187411f69821939e0046f1f17416c5a3a1c44e6437acae134c9e23c578fc3ddcd3e3d7ee912e6d2337e613884890545e78645b820bf624d854ade930c24fed0b7733bb9437a016498334fac75e1199419227a9bc806b582c8485d694c50368fbaec7e8b593d5af5fb574af15a6b0d8d5a90dece77ff4cf36619d36b0954c6737e317d5d55cc72509a0a88378a27a0b86f7a2a9a15fb998edc917e7465c55b07f896c9db589ddca1e2286ce9a046ed286f53029ddf8bda8334f0dd994a386d85e9529a47f01d552d1fefcedfa8f35df9876bdfc5efc65cb430ad86708e7ecda5f4580649d813677ac0f772b361d37ff277115bdb471314a69dab3f5ca6471840b6f3370122de30ddfc76f2e6844c517fb6ee695ec23cba1901f7a4c7c2616a7681ae103769d5ac4e4679e4749b6b0bac7fea9cc1fed6af8de3728f6f06a81f3486f412a76d5dc5e880e3d9a11d58d815e9382a7356de07c209019505a09b09dbf03517dd56315457d3e7744e8e05c2db84397bd23fc12942312bba047601b44fab57d7badb83b021347e4cbeffa8f18fed9c0b14e2351938ea162d41586e2e453e6f6b365f5baef80487b3fc8a28ccb6e79724425e59d43cefb71717c1aa1804d95519c865a284705747b565415ec84793bef8c408597d8eb8078e6237ed7da815c88020345efe16baf02bcd92ab5ec2dd8ac73b41564ae9721b565495528da563efb59f3f9dab3481cd0115cab7b2e4756d4cebf45b58a664eaf300161bc887e00704aaa6eeb46cc48045ef95f1f6e28ee5ad2e4de9879ee2b6424e884152904c9325cf590274a9e3c827c66f494fe0f87204da3af27a1dbcbaab6848548212b4fed73e782c95e4a7df8da6477cb55aec27340d81bb69d1a63a7aba9ba7667072228b5afef5912a021c9fca4c1629e01f79bd083c029eca4f19894a4cd2c23742ef1d6382aa8b926126cc5d03eddbe8c057c66a01513657c02971c9755ca27819314beb6bd5243117cfb2d1b2c03f01bc180fc0e52b78f89ce737b5f4d4a938dde7e262a50c9610bfafc50f3185712d012a7c71cadab04b5a548951013e7f2fbd2c37523f80e7e1e5d92a9a75e6250e2dc753cfc9a182cbfc56d312b153dcfaea93c2ea03f61d3a878f39912911e40c982217332a20f93308492303c8670eb56f0c1301b6c6e2ca76792ced23ed15738f70c21dc9948b8a2fdeb1f622a8b953a95e69573d98ce618e150def67a910ac7a02c95ca86761d257e3728b3ad66f9da01e0338d5c4afcfe36f6b4064bbbd7f8feaafcc89f51198448105ee17cb5754e991cb1dc6818a846be0d09ddf0d902dce1ea8b70254fc4c3ae75c336e65f6445a49e28e89dfa41baca988c30130169280ea21ac693b67daa1a2133d58e96e008ade393f65a4c3ff4f0c9b7bd0ddc65ce5aa28d02eb248d7e9bd333471d67e2f37362e6c153ab4ef3a6156d3ae6f6a8a3be3a25ca301dc080189e7f0299b70c1a64071b872f8139e5b2c15f552e936e00687146cf15171435df81901578dc663730d8d4aa444898c6845f053d6eb98b5a4b20a26966a4767661d25891118a78538637465b1f1a701b76bb369f9e19c7f8cfa0d9621228847892df863a222efa05f99cfb1eddc0155762fc24e6e3bbdddadd82d5f515d521d746218261d301c74da41f2a91ad20f3ccc41e32ffd7e534a9ff37cae3e2643b9d012385061d469d69f4791842317315ff17de3cff44098212eb0b65c95ade40362388b6e9e2bbba39de9fe678bce85333d15e4b90d5711311485373185620018f66a75742a1f5ea36c70c2bc8fa26af1602c83914768e5e27d2cb38c701f60e953e8ec883bc68ab474d538e47b61bf99bf9db70580a6ffeb5beb3fe3b4c5290e59c13925102ccfb1856eaa4b2493543199a7d648db34e9de34084ed3b6445b4d48206f33d452f736aad61237d2adc31038f1830754c785354bca6e7ebedf2540145563dd5fe0457b9280098d64147656649d81f56e740477959915a9fc8041ff7ea7e6996abf56dc66179c69c94ae6dce102ebd18042c7a0489d9cdf6d4486eec4836d9ebc7a5fd7eef55226dab4f544a3ee017f4df03101ff7d4380af6f35666e2190d54716e33a6352746ef6338191c9f98a181180ab66188d84180df96d88af1367ef9b2824ff2cca2394d6a48adca8f26e2ad9133d74234eb942f37022b44a1f228f007c27e4340029e65577b98f561ce3df5819e75cdefdca50da6334cc9cda28e49fec1fbeb4a034b81e1f73e471384c715630a822b8cf9b47a64e662f0872cf8ba32b3727f50a42a10d107d82cb49b6a56a814aaa4b7a8b9fe9ef9663e5419ceebd50361893f7bb379d0d5145e476dc7e33679ae1a2d12511eeb64016f3a4f4e5e3b6e0661d092c7c54832aeac2f704f7119626f8ff2377ca5edd44e69ee1a5200f085a925865c10fb346818f5d1c3f9d4fed81f79dc51d55a21b2d7a1612030dbf99b9995a9c34acbe2f29a8ab5894dc5a7e330c990c41e16e6e792f4b6a378fde47047ead77a2578263d5436acb18e9e42ae0443547e031acaa120d7553e56b9bcb43c8fccb3728b9e25891fe086649db6e9d7dacbd1a4bfa1125e10fc4e5ce55f74aa768c03b4b5ea312e63002f7f42d91074d95e213c72e2695cb064b373e02b86f828f1811837a45b317086070d3be28ae56477442b5b770f16645b06c00478322cdced67664f38d8912dc82c8b8582e1aca3783adc118ad3d196dfd80f7b920c2a0d5588e1a366245eec505e9383bc92ce71e081f3b6f72b7661bbb471be447388ff8d525ea5577647a43327aca53affa176f2330aae86d7542492f6b1c58d006a063b6fd68ed5e9d8595eb6d1b435f6f089b6fa6dab0a2cd7a5f67a1b1afedbdd92d5e1ec993910b2df1a0c4ced361d9a0271dec5edec9eddc0d3b448a9f22c29091ab709fcefd792e03fb8fa1c86d044f7a14743ae85bcb2dceb390075f28dc04ea3da78d25c8c3a38a854c34db63fb0910b51a040e515a11e3dfe84a6031a1bc68ef77fd067ccf90969b42c59e43ffb6b32b5086c42d238799508df96c5251d6cd9f6a1d4cef511230aa4a265c0ebc285b778d0589a1c9112a47b0fa50fc35e9e5c6ffb26b4faa47d9b6de1d035e5067bfc0e9cff22f94b285f5bf5fcb910889fb5de025fc8304753e9bb488b98279a1a6cc66e949416c6a037af9c8163d9c5f73c6b58185767b4c8cf6fa9066780e50fa87b88af63efb9ba5915ef27de1bc70c00222ada8060b3a49c6c3f5ebe043d76002803cf5e30cbbd301d2b42894690cb147df2b84bf60c8e4457d2aadfad496ff12b35c2347bdcc4f70a8fa01804901e3924858429bd6411c45eb5cc3dd3da62b50354175b6c29bed65f92a5cf48cdb5823e47de7cff99803d0be15bdf02644e556d2c171833ff446f3917897d8bf22aa0ebdc64f3446184af9f53d179b075abdc118a01d8b1ef0cab25a1826c047b3b8e484d2d1158050a2785346affc328ead543907bec10a9c6fcd16ca9e13590c32c0713ebf8d444d337c65fb2743b93670b724340dd3c939b407902a1ca9f5e7f3eb91eb49d9675d69f4cd08ca61143757e12ef5976a6d8697e3b06c4dc4294b2025b1e6b5e16c197ce266d60812294ad4ef754e78b36561b6b646dbd035686c062c4c050f1345c9cd7a12c9407da6d26705b8ad96432be10d62c4dba81ff7a360a78ea0a4cd1dc85d1f982a8f444ad81b79c8f4cf808d201d42c70862718a0da502d06067608abd50c7804aad24ab50214a212745c899c01438635edbb4a86eb71b1f55d41e397e34ee0abd53e811439e6ce900cb9f148a566b5c0fcef33c7573ce734223c23418029e5890af9789b8e8c6fc2a82b503707c7f8f585e977293ab1f82b5b9b83fc205951bf5e96748f3a61e009ed2ba3b4abc305e1dead351e657bf8dcd640f1659862e70574b517a0d08f124aeb4194a7029b2a50242f138158e6c05beece4189f316157c120d30828b9c4f9ea7016c1e11feebe8aa6e2c85bd440cd59947316ddcb16e6abd2abf6a059237017d54898913008296c41c533ca2bc3e215f454fc3fbddc20d3fdab2000d43deb5256c0ed9a8113d77b523763e5fc2f1d9dcd7282b32ad94e34b068783dfe3219e018d75f4457740a8e563fc1f94162bfb02da8fc87e7db2371ff6d81af0e7d8d70be5895aab29898e82e3aa220b5cdf61ca1bd28b660a8c775e11c98d60c227da8637ee180622026d9eaf97cb7eb0319f2c6e9bc48d6229a733435f27be5a2c7d4dc494dc445554a7b8169b969b304a2ab9b549d4bc7d9c98e1c438d76d709c5d045d3d8e394620ca6eb2b649f4582c8da88e1eb46a3bef74d228421796741612f2e44b8f9104ea69383958d027be5753a33753ffd2144d732be38561e2acdb1c1032d0d44c14d61d6966df9f703d610b61b51a7436823ba8776f3b59eac83a3e197f1d57d7c0e16c64514121b2b90a26a17fe118a1e3cfe7227d5e092324d3c250bad24a1deda42fd0926fa78519f27eef6fe22683e3ef7f3b96931ccaaf41b7a2d8fffca16edb57e12564909ef7464922bb221e79cbaf4a4a95fbef74ffe36bfa95344d43d18861e760da83398b30ce1f7ada5a7878431638530f71b59adfe39dd52a4178dc0981cdd53cf20d409c3c75872a739d28995b3da4e4b97fc9d4dcf657ba219444e7d47a4e7bc094183343d4af877cfdd7beb07ec77ba5cd1c1fe3a94b711cf0323722af24a6189a32ae039756daef84438aac4cbcb07dfc3c7ab68b7db2614fb295d77e8fdbfa362efa1a5588780c2f8f4d152ec4f842d37c0b35a6a68e30c1bf3564c106acd2f15f88038a9d2b9efa51b54595f5a5d39c2217f40b97a90072fab1cb4dfdeba95a58821390f6b35669fb0378d9d7d44eaf829dedd86e39e98112401b0d68dcb2df33e47bc38131ad07e1f2550487274a21473463dc35ee6d4fedf523ec166ee89a56206d6c2089acd2d08f59594283ae5cedc8c418691d015582d5aad2e5e0b2f72f139f6bf756df95a0d827b8e30f8087fa01fdcbeba50637b38a33dc8e6f04fb26400da4d378c04ee8eaeb70c5c1b997ea6191b4067b7ba235fe9bd9d7bc139102c4c3cc0f3f13db5307026cbcee1f4db596b44eb43d0f9a040e7b1d417824836b1a16fdeaa7eccacfdce0ddad983d6f9f7262abcdee4bc9ba53831796ae5eb39ec52ec326e654d0c9f4ea059c62b408c1777a94a4e6fb17b0c2f0561bf75eed8be0aaf0f990905794bedd293f6e076def3c954714a08f1f2c97446dfc39c5b045f54d3c933835bda7513d575616d4678ae19b95f329b04786d75deb7425dd0d9b393cbea7ccade7dfdb6766e9595f41759be8c85850a6661722d6399d72f0b71ed94face5df90fee645f2d24e4aac0120a158c4667401b56ce63d3a62241b449fb8c686e5b65ce3d0eacc3f49f4c1cd24c53c69e90e619dd76981a64a1cd067bcc8ac304ec01f8b6bde5d59d36e10488f6a1f5a09cd241f4b50a93fd1ab0a8c7b9ae5a62461ac90abaf2a0d19c402f2cb8c1d4ec40ceeac0e4e4269a0196bbdec262b3234733626482003475976f95bfe441d33c04bddb79dd882bc1e4c6b9e28bb09a17a2aaff1dbb23c564038253b72856d791f3059872b6af05a3f0aac3d4481a9e09e6675e873c93ff9a70f6f6d3e3729002fb5c78ef8fe1cf52b132e4a6055aca75c871943495b3d92796a5f92b5cf1f9abbc103dff987d5d8d2f8d987054db056770815c75ce300f2d01c2b3838aa078cb3648d599a2cd61cff43ef45d417ad58c9a6f624112872a75c43340fb90531b8cdd2a2f0d1621096414f6724408d9b7c51b08564e437c400580d3eb24b16519b279c42d9a9069804aca604301e8aba1aa8c54a508a13e8d40753be8c1f8ee63b597562ae475addacede3d54a8a42dcda70f4b21945c42bfac1f7fc8938672ed2197dd368898aeb3c505596bdc854a7a9f4935e4f84f262c514157be4fe1ff4846c2ce656212a78694d3ec8be92643129b95b13665c67d58347ab344c054f58748763099b2506d7a35710353d34a345e498e8e418920f8ccad3933408611da2b3563400e92db023bdfd480945d9145cc5487d60bcac68af99e627c618a1de2751592a738a4c7df3a839fd626d7528210093957797b1aa7118fc943647cdc4734f9aeb9f4515a8369552ecadc5e5303fbf4aeffaa370f9796f4e281fb4f7ca132868667ef260af0b4299c514322b50fccbc86be5d52cdfb4a26b69fd89b99ffb02661bb5c974a8fff6a2016cdaf6e35f96bdb697f10f854e0613f96afdc38deda9fdd8dc7a5e33bd9b43e5c117c64373c29aae4f8fbf53afaff8d54503031bbbd228d040f29f067236ef8fbb6e7cbc9fc77bff972f7583867423331b5de6b721f9fa2bbf9743f94035709abfd16351d371b307106d2439fbc0c4e0560b0d8bbfd6eca2e9119719820bca070e3662fae6ba246fb7b1c1ce38582a1bb3238953257f9eedc13c3b27417255908494786aba5ccccf6cba0f0d44057ffe2330095002aa981550559d9ecec36bff33d9080699a4beefcc7bde924a4a746bb0b7470c88b1914fe314a3bf2c69ba1d7d6095fe7c5336d485f56491484dd8aa0a7b0c99e319059dde6794305e41d460d77dfe67a738d6d822cfddb5e7d723a580dad88c19a113e5215f9f23aeb19d8dc49b33b2b97c9a6c297b3b9709f2a72297a54895f357624528063ba4aaadb4cd77c3404d6a97ac6eec76e65dc4f9ca666595a5819f3e6a623fbea036971113bf4db5bed149c9fcd7d9ef8b25f9249d660167fc02d3043b5e95c2b0b2cf2d1b81db22a13dcfa4eebddee5b06b7aaf806d2f7f17ace881f0bf1b85ce25126cb169dd4b37adc432e9b39d2539a03c38e1608cac0c7d7ec44e8523acbe061c9c011d379aa97d814b430d6c817a7b479bbb8e4591c78038c9e395323355245fa84f0021ef0f4b3633695b400c9499ac76df1169f217723e3dcc33161e9c2e3564ec44b10f450f030dd2096b4d02c0f3286060f685679ee551808a3f5309b173e4345b1537521b64d81ecd28641e1ae58f9106239a609d5b75b647bd6f66af34d408b0271f8148e08d3e5e2241ef5b027a4bbd15305ec1aa991f3ec97e8fdb9e1a7caf08444e2a0c35df0c7c8318539e5db57d0ae31c25d5379885b33f2d0aaf3d185a9d36e23eb9a0d191a189dc2e25ae5dc29e98ae165b8f09d57ca72687d5becab8a46dbdd3d2ce7ef2467a50115ef731cfbf465c2e5de6f0be6bc023391e8c8a4932e9034bcb696ac930c7ad774d4fc86d282b71b0772e7ac8d51fece54550f8f942a1bea61ad72c0c9c410ed176a9545114bd9533985cedff33d313e224f82d505a3bac880162aa9bb8278be2a0aa6e007b5b620acfd589390c4b86fd61eb9b2a28895d39e24cf9024b5dae57283c6b298a0382379c82edb033d2c97f807995db8eede4b79a7582fed9bf80591f11d1284f1ed92d22cfa791e89ede630aed0f9874d5ca7eb5f4d72859202c8f3c6c7429e0396f2d988aac170cd054ce6f9989728592bc243d84ccacbdf07cf623de6ffdd973d15e0f10e83ff9b24947b2763bd4540da4280943b6cb89e63d10e3f295d80873d0a7823494f6936333d9da2c33deeda5533b583b32e68bbbf3865a5efa674a37e6845aa34ac4ad49c10bb061c9e888364355b4f8e831f7841727872db12846551292b66e1e10d4fd2f3ed4fb491b4f1837411648f96ee1c2f45f52c9e9935b16dfa983f81481287973eed7f8a739ccc0182c92ff6582f1893f96c56457a2e7d74637d910f7289f942ba0b4334d689d48101a124433d7e876328554e0997c911266a26d89d967e45198da1134b026b5edc4d0130f0a6b1d8e24b18906c4773f301a149b700bea0828d5b6a773c433847ccc1eb6a32a27101c7928efe51b7a39bf6f1a093d51502ebc9d76d1879b8213acafd9176f7fe5d8fcf992091bec4c81d4dc469dcc19434d96a426e8bcfd524ddfb0f57e08329277f141ec6cd37b0eb11c46661e735155c4280d85d07bc0aa7c7990727185c404e86957f34c3d2e74a7818c68470a2e062986624186bdd676e5e55596a3aa384f360870154bf920e7a79a8dd8a0d0e28ae26b9e175ea2e7a809145a5a1f1fc0f7bc9e5463a7e4a649afb88d470b628f82a546c10cc8c6b11f7d1d385450f0bed326d9157bc261e3c65e49d9b586bbcdfddc3bd6c05cb86412df02f03e91a14af52de50ec915cf5ea4c3ded089f78138e494f21f28f3e714cf36f30ebd530e7566a80eaa13f8f4aeecd97ec353e04e45c985c55aa5b4c71ac3f034c4efa8ebc0c4c94609810ee6efa33e512af3f0796991a92788a9ddac6bdaf0f06da845659900330953137ba699b9f1acbdefb543b4ab54028b96f7b2e5d3b343307907c667d1f71b1d4c0a7d5b3819ef0a5b6424dce1a4a4a9040aeebc86caaaab80fb8c05e5af3db0d6c8005e9a42ff168e38656a80c04e4e19ef9fc3d1d3762cb9993241b6b9f45f790bd9d84a10b195a3867cb8b25fbb6f3b6148d513649e79df0f7cebe48f2a412d8458cc2411a2963d998f9c63ff3221bf4fccecef4d169df1b8f9cb392a5026c3e1ab3ce9f6362f3ddc18e50e2750823a29fd5fb1302c19e59c8bddece5be8750ec02313d030413fe32f6537eb1b0176953bee18bed1b865b450ccec082921d35112e956bf213ee904be736bd520885463dfaa1ba3020c12cf01411e731427af08fa7e99e1984d8280edc9c313c755c5f8aeb9f6c61440bc63204d2896155e876d33d6dc741d8614d23a4663132510ae138ea8208c918534806427385ccb822bd094aae0bd162313be6dd0792fc932b9841ae352a77a2061640f4684e7659c9815168d58d75996a9d26fe261e8c1d80b9c3f1137ffca0c66de8b040408baa1796cc0540276bf470986b79adf614571b1ba1f818b2ae1fc0ba35f240da55fa5853399701020d9c2b6319714f2a9bba60dec63d84fe10169404497a5b6e8d0710c141ff024764e7df6aa33652009ad75d68ec781a3ecc732db235838dc0fc36553dcc54c77745380737cc11f7e48cb4e6b906a4465bf0f3af6d8a52203dcbabc6a0bcd98746ebfa96ac850f370b0858299111ab181831427a5ca4bb22533a3ec7df8a67bd45febc65821b0ade53cdbb35cc560fb2fd4e72c171d80f7150c547a9db5f8f8649f024d33e63da7e4d74a44465af61d199f4313cfcbf20e9e78c4e6b44b1ff0cf46fd6af767e217061215a08e8f52ea4cf12b0645ccf3bb645f824adb6a582cecd1fb9342bf5d89c97c9406574156f6e4cc2f66c6857874c777331664f0a4a03ce126d1caec8dda569cea01452a05d139e4535ff97c332c883ed80cbb85f7e518bef00f414208337359ebaf96c2a361ec71ad180424adec481bab91017bea05a166d5831857af6a32938d7e40bc569aabac4ddec5f13fdf103eef2b2beeea4b746015af363be5547563396aadc2f29fae47a23b268ef8a6a3f6ce126d9d535aebb988b341bc81e5678ed31bce25a11db5e6789a6b53afed29ffaa4c0ad158d52ed72425a52b7033a3930b552548755708ce735c81e559b8c2e16f8ff4edb281ac0acbb0af523e4e5d6e6396ab9b713ff11ce028a2a5c178e7cec1047b386d9bbac27f4fcd66b79b109820d2f6f6aac6b507f3135cfc829ce8baec19c82426c40f7e9b029305fc95ed821837f96cb97a4b97b968cd96f56ba1649d318fde4c0facdd2c10804d9194fca1717ed7187b854aae01ee133a0336023769f8ebde333494dd63bec117e8055c7f4853a390cfbf6ce9ddf80518ca687c455c394529696285b2fa2bdda6fa005838fa855f5f8a169b76133b26cd5aef557433c4040f1941878ebf640e8eecf171f79d63f5c81cdc5907455f4196716ede5991ac55c41dd24178b0d93259f9b5bda49b47292c20f8c9b2cbc05051f188e66b44f5de7573ada34bafed0fd8eccd66598b6f708d53457419c648ead810fa871be5240e5fe21889516c60666f22eabe480088aa02284c9e426e4e502f57ffbb9bc752a7dfe9265a455909a85f3a489abc7efcd797180212456fb93f9d858d6dc5616223d4a4e08270145d0252d657646c42031b2a9ded77edc1012bba9a2e2e4278a9b52583cc82ab8125e6b60449963a4a33e147d23b723959310151e1b6d0148b49e40ff983e97f0a0d5dad7f7471fdd0f7ba06122a9d2b86e1d4c4fc71e23aa1fb7b0267fddb3a2048b6c3f44260a8280dcbe4b7dd634a0f60586f9c8f37fe4e5d65389a1bdbae36a8e988322d15b50ffc96107ec8a1f09b40e2fa7bd2dfdf14520655fd033434963d01d6da0e52e632c2ff66c784550a16eb10497c4de4f5c5860aecf8f8bc9aa9f9020ca1d738b8e317c9b8d643f18ab631ef7c8802f4f4f1ca049a8931f05f1bef166d4ab461f7772298f8864527b7f3524bb2b30e2f9e6689cd3ee6eb0916ff5c5ff7ac152e79850f228b04ce990be6762de2b22435abf62ac68241932e58ef64379482eb2a0f5d54aa4d4ee8fc0e7e869a0a071b291d90c7911b5e41d45ac60e8df85cfff5083846c4628c5c5273cc9678ea42e26942521c055af02b8f594a0cfe3e656f31d15f984276fbfc910a10709c79fe221c020edc301ef5de186db6a0d531ed800f48b91c9b3126f95356f518b6c14c3f11487b3fb48c2bbc62d748350508cac73772aef05dc24171e9676e97b25f7d97fce18d0b45b2c2e6845a78c17faffd5483d22cb672de54ba565b9798af1568bf37f40c4418c8e0df195e72338b56ac2640584f614d077e8a8dc13bbfa120d39a11a54fb6c3d62dd6de4b0e287577c5ab3f2e8c286fa81b41c72958c61d8f4b7c3e69a1297bfbcba95c1594c2984d53e71f8fe9358cdb6f491583a946158d2729f45b9f600e325f10a24c389f30868c0a298034df44a2423879c1dc824d118b995f27292476672e648fe687c7e143cb88524b9cd786196e4e4bc96fe1fada947d38cc77525f60ec38465d52f734be778528b96dd71fcab72e972aaa98c0b71847a22e594dc85e4747ad52b6bb9ac6583a4d202ba4bb3442168b89047d97335d06d02728950ae1126710c375d164a006ab2604c089cc0ef56bc4a8941bb1db28da22efbf3d73e646d154b2adaa3d986757968770b2efd74f15d489a095fb48fa285a9e18898696da011e0cba042eef9c93d11b4eadbe9172c25ea2fb19d43847ff15731d47d92f64059ba9fd01bdec103562922813a49c4cfb32dd12d701f8666a79c617980045d2ec9409e84f25f912d2afd3c625f928fbf19408de2c99c4b99264f584f39845d6e1ea067617b30c38bea25660b74cc09db67c38f56823dd85b0fc403575f097ffe43f1918f4b92c296f6b5ad82af2331c1001f4223bb3bd7282c0a513d737196c276d855ea4406e027b85ab5a8bb2ebf592f2934bf07d14c7c659b9b9f8580e110ac26cc3b54c22f731fe3ad7154066e9038009adbded74922aba8f76f68e938ea4b3c2e7fd607e959beb5796c8d9bc43d933f28df5d4f48809bec2ece7d462031b923c5c2dcad269ad19dfb2748424fec6d9491ba89a4f36b7a20625f34accbb7fda19818299a0b2e26e1fe07667d8a42e3821cac9b8555e9304e569e2b546c9f4f8f40346b536ead0ee9375f257e39d24e67918e16a706d092971ebe082dfa6c08a1d073d7a44df480d1cdde259033406f8d0cbd81d91c915dfabb2321981bd96f101efa07493f8fec19946a98fa8bd6189be73f17df2d5d7568c2a3dfe8b44e4f5e696612d09e9314553995cf4d0c65d025f76f6adefa5b1a5cd55c630c1a939e5e90d9220792b73056b98ab1f1f54d73a916b39b3de0706201c2449bd92e308feb021c71278c830346f1a87985dadd4762833a7113bcb1bcb06e4c1f498ee33c8b5ac49194f96901b761670ccc18a29d09f9a034b0507eef36214c8286df3796b336ed7408c062b0057063b88eb03d4f4d3a015e036ee12628fe76f1dacebcee99dd03374cfa55e6c0dee82637caa30e61b493a20ed00c7081e6fbeb088bc68d7d434a9be9a59fea8579f66451db7fb9edc67a507619f08ab0ad0e620f858e1659d6a6fe3412f095968eed55daebf48b281b88e87672ec9bf7744ee4b5fc39ec4cbc9a7bb72a6cd602e5901141bd0eeebfd136003bea5b2a074090fff748e2bd299ef8a96b424ba2a1d7132c39d92ee40d79f00303fbfb93fdf0e2f5b99701dde3dc1b41039fee3d4516625e3d245b679dba644c0c66c4d8a4b0a79334f6bc8cdbd93f61c0cf136b8c344a8b4d6fa66f31dce29c5337cf8ffdae0931b7664a9a2136d75fff77d03fcd9d50e90414b085f683cbbd3f3e5dc1e150796575e1934d9130df845b77170bf6b05a6b8963e606cdf20e575a41332a0c7eb6d941d40ab72e61e144f6196d3671195d2281224a5af4fda401348a89f2fbf9b00575021fe8760ea0bff612654192a5b76b434699ee2918ac1dddcbd6ddec90da9d1e8831388345b5a0104f2483e7a688c3214be39db70550d121dac3fad319cc29753eaf8c9ddb70338b8b98c9cd015ba1a2435e5ff76084d5308445a578582bc4b096bdb9ff4add467462c4cf267861af67308ac3fc835c24dc9f7dd5de355b4b3d2129a36d8f0667bda4039887da23f1d250048f91637abed38d1b13e65de8fa49648bf32b45f88b04d82e986c8878a987064f25a3cafcd31fb215041c0909b08ca617f69959f0343d49e995b47a0ba96c2318fc030e3677f6185f976a46622d6c63e1658761fa00e89d92f84e3101bca3cfe1595efd9ec2882819078a71e0d835c052af681b286c8f4f7eae426702dbd0412ece4a5e0cd02f5ed03e4237555ab562d2de124dc3b1a2ba042521ed3e13de2a3516802983b0e3a4cda5f62ec35763484eed5daf7346024e3b1a9e98f22ca14d808fbbc64387524dc8dbfe1fe95b29cd858acfac2393f7df11a8034a5128016b0d935bca622e3d20a87614b950a6fa0b0ff4b5ed94cc485fe0d7ad668f2894cbc5e62445fd56f17792d7d427fc767c97dfa7b1677708062020a15bdf333c1cebf14e44cad0f192240680a441e8e6c503526c06d475a364199947d3b266f1258983284eed2ff2b6baef2c265e7f6ffb5027b3de169ca53d4abd78b77b0f9d03071f1663c37dfaa873631af211f3373b01d757f768c1a3608db59373b4ac23fe979e29a80f3314f01852b79276a9fddcd040b679b981cc84350a3dea077b328ac01f27080cdb8893da2f83fa0fd8fd06dde036b9227a0f1a16916e1f7384f40883b611109f28872afa5e29c8e4d5ebbe18911f9eef4b065b785bc91349180e580eb35c3ba22f949e6d2f966203e9e2b1eba1d0d329d935ea43fb891d4e0dcecc273d9556f0d99d7ce6d501b44ba9adf27d33d4007668517ba55e0e289a8ec069457b9ed8665a4f014f9efa4cdd1ca41e54fa050a2767e4b271be778124f8d3219bea86fc67d213591832bc04cdd1fe8dbbb953d385b10eb5fe19e260407d3a1e96cee1894fa05aafeca19879951ac97b3d571c02251cccc030fffe9723af2b8a54fcdbc39c738de5b20ffe43d0071db0aa43c55f94387c717978957a88b74955cb2e39731e6a72c2ca5c4affb42c76d7e01d3a680fd3367a0dfe771a4ba73981e90da40f60f294772f1d5013655ddb05710c31ffc230ef03be742715cc52b51cb453ab76ada5ce63954bf4b32610e43cf113e2c102070980e542f3ba514f35f8ee41343796a14861199bfd52dbd5e863daeb22636226c4bdf7e03657c1dd80da4a681ef0d4d9f7e58caf95dd6bb5c6fe39a13372d16034aebb60f7bf773385a881793a96bcc4ad626828b5abe6d4422cada4b5593fa940e328beae40f108af2155484a4024ac1d136fbbd7ed941fd4c6d5e5dae0418d32fe89abc576fac1438970402edc0cf12d55a0000a24a0a630111cd91a97083dcde5ee7b4c81726d03d6f4cccd934cd3e7e761471a9dc4cfa81050a91338bac8f8700ad58b6a723bc292dec9c5ed25551373603066a95fcac2a5eb0c49ce60fe45f2a6a3b0101b666b5e1d715a46b56fe547cd17fa22c364ecb4f71a5fdf6a3a744d1282a099c697c5ef6e6b7fb6f5c5267ab280f0a6d421c7de6e7942f3dd5b3d2e10bfe5653ce681afb5473c38b95b936af7ee08680d939f8caeeaa074edbe396299a1ae26643bd0727bda377a632a1b663d93923002b0238dc2cefa65f20ceacd566aa81bc9caac06fea5dbda543788a807c77640fc605aa85d20d934df1999bdcc15c8db3c9fc15acbb939ace3bae13d94989a9401886ea1b34a238c4aa81a57f71175ee2c1cf04c9438a0f0a36ed6b2bcc46b98669cc6742a787f7a70fcfc9bae3506a02de51dd429ebaafca6a0d17d9bd5d2d3e9ce8d3079a248ba33dc86a9ebd8aace8f95a97eab9775bed73eb1a46863bc0e6997fe410baadf6db4cfe1227d4ea768b0a719e51f3e4dd0b841ff910b36e8916019bea921a6d3628acde69b1db187ea8a38c47ee6e972f3a0cb074b2fa477aef8eace12c4f6e6968a53c44930ca2938c48b6351acf4480d0917184593cc7ac43f602ea8f4d930532deec8bd18ec63b9a3f8d783419894d0a504852b57bd60e7d79efb240527b0f3e72749d4cc88f440f73d09df1a155656fa6eded78d87d9c4f487b54067d42a42447dd12fb5b70a07612c6bba134a2ced41039bcda082f0a336b8ff4468f1372a861df375b1dd3dad92fe93e30a3cbea0884429ade1b183213cfa9ba9a8169ca3b784ae88fd9f140972c2346320740f5ee2bef44dab1e215df3beb5be2dfa8729b7c796d606c3147d8ff34ce6dac01ca902e1823cecb9984e37bce1d7a892597550aef348956265f5fee6394e132174c408e9360790824536a0d31982aa8c5bde889e16ed3018c2310ee79c5022113c67a075a38ccef2cfb7452b21311c56821345b2e0d604a958d2dbd341dac579c8fe9548fe15a1d5b55834dc43175b278fca5364db2a8ab5ba859d1ff2616fa76893df3471e9608e808c34576248e532b97225efc3dfe27dc3258f6a5a8e12d638221a87d3673a98d80c6f37886f6f9d69279292079b717c6a8c7fd8764981f986ee3a90e093ce763e1e9304375acf2c16b6c48ec1daed2487ae4d558c800bc83ff53c8b9166e1070532d27f6e064d5688af87610647a6aae00125b2ffd9451ae04a73fd77159d28ac2825ed824214bca633736d15d3fad3c44f39a374272ee43a233d81994c2e515b89f966eb3613ff8d33c9a1bec4ca9bd8436808a3e110d143c7d1c299b9c99ba8ef5407f6d5a9ed211db96fbe0d01f37e7f4ec7e5268f234c357b74ffce7a41d399370cb50a2fd7deee0bbf39ba90c7701c6f24f5b4f17ad4582c60e98869cd7d1bd70f9109f185c6e801c634271c1b11b1f3ac5ca7f746b33a27d6ab4799cbf3ed5570b9dadaa7a259ffe70521d14ae05458280ecf037af49dc029ae3b915b53274d859a08d54f1c90084ba50b987cc4a54dc928858575d8e1fd31f79fb75db1f842d7306328c8d59b3f1ae9557df545bd92751fddb13ae194871de5d24767768397f5fd2cadf50905a09e82e3ff4974c1edb57b3166175fc0de4965cc77adb2ecee241aab67a3dde14e46857f6efe9bff298d206df03e3d28fa20b4df1b6f2db34c8ca41e1515d28394e087e7ab4468b7ba0924171d9eac26278b48ab37f5f0e5273e69ae5a273fb6455c34a4c927cdfbe708de656baf8044eabe6d2158cb10e74b90103db0640d3c418aa4680e404d97408f9b80db089c93079f0b831f6fc3fc01a065557ed8c753b9673d9771f9070c6ab4a1965c3b8a5ff53c202ca27895394ee2f0d80bd905b716eb4913c1ebafd72193d4e2c91e59b3f3fa41d9053dc46cfcb69417299961d42cbb68e770c9893ad6c55d1c4f0c29a700ea40b8d31ca19fd3107191bb5b203b4c78a892932b25f2dc4d2bcb8bf64a91b8bbdd700975cf960ee99cae28d867f06125374dcf8c3abf3bdee8641073676a520a75b2116a76fb5fa9cbf9bdbd2ffb90598dd3e0bbdc1f9c31bcb4dc1858f521f2b403978075fa645bb6d7f70aec7f8508276ede0c683e13d741bab9dd42b796b92ff42288d029e1c7f1c93b3ef5c73bd7385257820a1d79e5d06e5944d5f440960eb8fbcbaef51da04376c0acea4fbad7cfaee6a656a4e2352548fb39dc02a53e6bfa202d2d2205a2446d79381d7567b18ec2134c05c594d257154ca52352d0198fccaf5253001983a1e327a961447122b98617adb9fc72a7c77e9d690eb2e913a49a0ad012bd852c554919b4ac62366d41386a399903084d7289f6b51bfd64645a87c47bb0ac12e88b6cc5593905ac16b25920a627af4a356b3959adf1fef88c75000edc9d811fc2cce91b7a3633864da4ba808a19ef40c2de4214a807eefbe478f3d9de25d082dc5c92832de6840e67343f57e7a5fcca6cb93319173cd33e7dec4fc3a57b7da8a3d8ded614752b9a05cbd0e8b6070b80209c10eafc17785714d01806807de3bedc548ab43a76b41a45fccb807f1b921defb070df82399256de4ad86c15f1288d06c3a640ce481759b69b3ee8e6e9934e5793801b02275600b02ad64652e100c218de69ae52f53f308126010272c65afc85f9869266411a95ee9407bd41c5d5b631c44eb057fa4573bbe46a529be6cfb5967cea8ecd5455a9ec98e8ce6d6fbb259da17f0699d6c84f8f33e0ce15d1c806d74600082cb15bec0894815f1d88a92eae180b51d3a16d31f968045f76629a69118cfd0f320a46eb539b2ff8a5366bba588f46ee324dfdcda40680b79b753ab8b159b87735fafd336597bc835880d95e4fac6df3e841402885a0f790a15d4b7ccb1e29c74b9fc695c350a0b5ac93acce7acb7395d9350e19c16451ef7fe4da50e647fdce13c7e6567d7888c789ea1c2536cdea5442192854a016ef3fd0665d2f6a7a2836b5f1210c736e56e58a42334579e6095288e38e44d3ddc0cefffdd0cdf42f9508fcf232e1c74df578ef222f33f737c3d80d71b68d2e5921eec16113a5aa9d8d1b4b80e6aac7dbbb2998491807553031fbc640aceadac2ad685a72a8c5991099a57dd674387988f2d2345b42838d85a77e423dc2c71aaf0b917080d69e456a702c7b716de2a6b17d097d8b46c43051575d24700381dd9ab768e5b93cfcc453c0772c14ea78c3379442251a6121c7b7ad5b566f147aec6a8e9c342627cb1b4e7fe69e45bf03bd4d272d302173561c1bd442ad03458e1be3b98914052386e5d97aae55cc5ecba0220dfa93d211b16719b3af41fc8019374ec14ce31df8b361770e4802d1c844a0e1071ed969d0ebd08f7495a04fc508f9b996257d5070e442958b33573b57fcbc8a17136cc4a0e9046272e97f08327478efe7a13ee484ce610cba4e888fec67142577c1eb4b0b0d87c80deec67fb9ddc8710c6788cf1c95cf28b41444c1957181ae38538a5200569ebbaf50c4266cb9d540edf3e7ddb6aba94416b28a4a7ac9d7ad64ace59090a4c808ee28261a94b822268d4f434e82ce88380b228c641537bbb9f35929a25995ad4a87af314ee728f8d151b06cb92b2ef20aac793c00a9f1f8d84900deefa1c47c5db2e4f281467f090bc654a2edc21b3e290d1fc630e0e3083a60a8f7aebd942d3b4e5097f56d080afabb95220dfd36cc8748e5fbff5a12e901b5505671667f1dcf613b9e2fadebd68fbbcb8fc04a8f9a840a330ce570177c33a58b1b7b9326b779761521561544216e62f125abb57ddd1a9978112fb9bd345b0258d27cde35a616a76d3ceb280ddd4395f05d8f34f93f4a397d4354d5357e8238479be1cf0879bdc4f3bec7374cca4c3ff8c17c47d3eec3214abce93d444cf1d025fa1784ccd59ed29bb37997f6c5df22f253895a5e384d6018ae0c97ff79dc96d1b6e2184e46c2dfab2d9ccba2766b4853b8915d321f66834d6966cdc173763ca437466674d08c914e11d3ecf65e4a14998df5078f588b6132b3a0ba37e4cef7a245c20472527e713c8e42a4df35f2321375f0acc2905c934ee213d756ef933c716772eafb8970cd21fa00855cae0f787b6726df65ab5e5014cde6055912b883519e1536fee34a878ac89c09659fde6408a74f44669d1fe3f974ca030cfedec7bf6f00ffc03ada8d05841c28f7489d0c91e3c32bfadea1172ee937dd5143eb130c29eca579085614d6bcb2ec7527ebd461351828016bc36b5bbd6299595b5c683a440152032e85a3fabfac9b3bd4e2f66fb6891e2c2b28f0ec2c8546327636d4c102aa3a0a211cd2c45cb409e41c478fadc06c8eec96e3b54a6d65315aa3f5fb85e0d2d233d1d99a9132821dcf6020fbcf354a38c86d0dbcab03d80886ded61150abefbcbb694434831d9532f9e0009473b81ee392226e5d07db0b409f53f12cbe170ab767258f03744567d620cfb007cc7c576f6006baf40f9bdbded4ca9b0c56131e4a7d1f10533c508ed51d1fa2ceea4bc2f49fa3c6347a91ef3a392bfc4c20b4d59309bf2a729b3eba10dc844b99bf587eb2a956e846884302349e10a01f3dca1b585d75dc77bd2466bde754a08a841bf0b3f7b26423a7d28e19611db67f677f58609f34ef73ae9d47a22046688418d082ea7fbfd5f112fa032cd7cc7ecb018e1ec183ba04983e9553b7cf9b08d10bdfabc1bd5a991951d7213850e2ab2a729e60574281f98b67540421cfe54c38ad6a44f9178d9ff95a242128ae535b63775e8fe30722409ad387c61dc2fd460dcec1f616872cce611998d6bfae6ef141dc0d0569a50e06200ccf11ecbbd0f2cec3a50f014f9c4c7b675a5fe256e232c1395ccbc429dd3d56drootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootglibc-2.31-150300.63.1.src.rpmglibc-html    rpmlib(CompressedFileNames)rpmlib(FileDigests)rpmlib(PayloadFilesHavePrefix)rpmlib(PayloadIsXz)3.0.4-14.6.0-14.0-15.2-14.14.3eSe;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-ch1c 1696505172  !"#$%&'()*+,-./0123456789:;<=>?@ABCDEFGHIJKLMNOPQRSTUVWXYZ[\]^_`abcdefghijklmnopqrstuvwxyz{|}~      !"#$%&'()*+,-./0123456789:;<=>?@ABCDEFGHIJKLMNOPQRSTUVWXYZ[\]^_`abcdefghijklmnopqrstuvwxyz{|}~      !"#$%&'()*+,-./0123456789:;<=>?@ABCDEFGHIJKLMNOPQRSTUVWXYZ[\]^_`abcdefghijklmnopqrstuvwxyz{|}~2.31-150300.63.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:30871/SUSE_SLE-15-SP3_Update/e8a84cdf91bcc96e8c74cd0385e1c165-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 lines%T@ȲZg-utf-8960e629a126f0e08d2ab750f02c16c4f018ceb9df549c1adb9a68f0a77475c34?P7zXZ !t/,]"k%]< ^6+GIėZ|[Bc55I G\\Jd}-A"]؄ޙ-/jK{34mOKwutifK|Ԏɀ5<=otfR`Q,\*V{r&ZEylT 8.u;BYyz(q`4=LilWᛰtk҉ % :FpᤡnbC+s;4۹變l(\996zhw!Mk&R.; "e˨^u:x ;` !sZaoH6ljVYQ. F_c-e; 5T 啟n [P܉W`4Xr`62pGzQR*`g;A=TEN#T? m}BS"CrNMf8"E|HfQU;@gZNRݓn|ԓPÑ357IɌG-dt Imk^8fx\q}|]!^{ !!q݉XP%Q#1z2w޺SzyYfJo8;Lh0,]hS a>wcQoݳ8vւ121|g=`Diu;WǰFR3l?XilC!1nͅ M iZ79*w\8F~/1e]-G= eGc.wp׭X`w 5gWP-Ey tLpdDm*۲sL?/)LґieU)m9?Z;?[v.k{lnC%roi_*ZnZzR/ Hz~H,n؃"ч\ x6W[Jy#qEҬ2T5\m$UmhӇ4R .a6t1[u#F e{'7¶ȷ'vPC3aUHEkHJ^ b 5$g/i:DۑnWq l4WWDXNXWZk̶aDM˾m2//-Xӫ[R<|3#k:hJ EpYSčE ;GqQ OI_ػB2MAT@%OogGDsiѹ`@;mKmHK/i0{SڒaVk JI[ wMA;hW%9UHA^?AFl [~r`:$f}JVϋDMB$aI5Kjh՜- [7*7(}vJs[,~OAZ4{"#Q(b;7,6{n<;Px+ )NbsA4G= KK9P-F!iPnc'nٕ+`u!Y2S%dݛIrI8P΀߱6ޕCyX[ː'I'|hû..1 ]QWUk2jKWՙM[ x)x۶T 8E Ԫ[&9lݙT҈̬3Mާ.]}P\F in*/^xH03`wE"$\EHMTcL8B,mplP@PR{ǮWq#?DPMɻN1*]?Z1#A '!!~>pp٫dw)oCˎS#\7][W۟;91Z[*`WA8qŠˬGP9}fbn>RTjDAOP v]Z4)h줁\[SpFF0PP[~AoUlp7ĻP?DuXiOE: +#FX|S\f^ۊSo.v`.媀舼AF,)eՂ)M!uE' u>$sfۄ1nM0ﮃSH ""  1Wlxi3͒ņ:U&U_iz,-99Ki:6k$5N7&VVP-C>ޙȵWn_W h̎9Pb#"k*%2v+#ܤ!upE%ݥ: hI w؇uٯI*c3 {X s= m>bT}= ř_LazgA?rxGЋ~Im*[ԅ6QY~8j߅'~mJMXVtqﳛq_s}#Hꓡl~kYAD'B3li('ˤkľ"uY@I/cP]gÖyaQ !]W"O*-R8vW^k܈wAk+CW$F飛&@TBkgH_| 4T7ZOJ[´Աq4T:#C!ck6yT{xXtm@_xHbOWbޔ!̠Y K .8U5&{:_GTZ;!,1N-[f!;YE0T4=+ 3~~/OGǢtifؕٮ@Nez/05_G81Qc'nVyozJ':2nj~[4l6\@%+5(_O fR$3~0L@1h~x$ ̩B/<0g_ThLbNˀz}Y Zvvgȸ-;&[ocn8ѕ!kZxT[5ܕʏxBRkoc3njٺy ُ-V_p'l|#Һ`槗aNpB֏(dfY"O&G6'Yi?213k{P[ &@V囆\-duU˻Z/JlCMCGH N= jkRx$M"Z_fsӮLH2CШ^rE}S3U V_EEn{zlw OD%xBMȣx<͢j |>_Kn> E($v1k7C;z-h}޷?gGgnv\U>}SGf ټmY)Ht tg)Ąrt޹;YVx&`nNG%fJ56O0|ٍ-R" )p+frD1|1M$׻sl_ޫJ*:* Viٙ!>R˺1#u> XVu7_4-uq=F _cDY.Ѵ^^E5beyHue?fȄsD9[ςHe9Γ/Q ՝?:Sty)&{!^1J| }XX|gcO.xeKblIhty"$'~Ǡ8G2:zņl uh#Pt:2bźEP>Zk͐_)Xb =Lo^&Ռxtf˝1nE[n5e`+`>YGm0OCT]joR~^!&׀,[f=fZo Q~in;?H3,[#c'Ai]&mp)F@k7!kNu%UyDg6*Y>y'< q?xC@`\gwj~LꏂV~5w%FVѨx_<)=L [@,eWdv8vPs=rY> ݽ劫09,[2 MF8r noFaȘ Yqԓxb,ЪkG`=pQcc1F?=7+iP,V;Ћ-f[uMȈ.()L Wc5%sw}HZg =k+B%(i^(Ū9Y0/~|kż-d8w{6#?6x6 kD:BD=(qz]m_  7WҭUGlOU,tk8*\[L_Z+ohE&$paY Itm#SѤëGJ)n'DpGh5TPkdW*,qsd̜l8,2K'X3,4%j!qRϜu%ȎK//Py SEnM] R0n^00ةjFqz[99%}#?$Clw-`gFs{2),t6+fO޶6J+eRrz"4'UGkChKCn QiVee)b.v-1*lbsNR's?LJ:i'pB1'n=c\gXARlub}~>ɼ:  @`o.*n,o/gp0Islގ8vcX7+ZQN]u8X[ <@ܪ2t߁c׎҉#AROxQ3 `sEBUJډ$*2ċ0bCTj52#L}VDr >` 6eIt␢$5BhTuJ{q-A$ţ(Fw6g؞SG֍zWk& SU[d`_7tDpJ)4NLM.c}87Zjcp+@vK7oۣziZ@n,c ( A8C .G:|H4O5ߧkN&F bNտ +k .*TF_nS noIzD< s*!.לz k4BQ&:<'Idžޓ\И+_xIz[5 \z{OMDh]w (r}?P*+XXI ˈ9njof&e (ФLV;O1}}*.FNq^/zA2c2u'&vBZ t1MblX2I$[(4f\<躥 )&M#u%%YNwM1ϘBHf(Xo&A q]+ 9DP&D$>tࡹ "\70NAp:6Q ]6ܷ b{^F|B@b :Ōh&5JqqTE^=]q jO@+q@%/&}mY"ƩE1Ņl >d&`ʄV .K6~"%XR'AN}a1ZtP|Qnf}9%(ioݽppJ !&1Vo?=iO#UgH&4mďӁ۟{^dҢ>CW|fiw/I@#ZrkŇ$-"8/D@FIf55+mJUהlhme>1]]2ԧg)r= i`=ɕ_QE /! t(ZIjZ b? ңX77@M3JZ= - e Ԃ"`pQS!nb[짢^jWSBY}>7`ֿػ)(3F&/o:)|ڔ*DdLIظZ}]%wş ˖Vqx\6*1&k˓vVv}$8sG^Hm}ج:sx7Mt2~41`q>!Gjqe1_Ϫ4 k;Sh Âkٗh`|A!C ̦ Il]HJ罻%ͳ9{կc޶5~iM ztG@ r1I ͎ A0,,kBji{ƊIM/''jOX.]vn Rk1^SvUUTu6^ &UhmN;~G:°o3l!bc PÍ'og8ٳ+ 4}\%[;G0eF.N<ZAkSI0:^L4vvǜ!Jw?Jj;R:] sѦjlOUF5FZꔍ2 )*Sndw /'Vib@rӆw&lr}cJ#IXYϔ9E ]qWHŋ z}z zI6{!Kq?$-z?/ )+w3tZK[ٳtT-c|SQB4͟gE: *u;77)>iۘTO< ˸v@z d*Pؕ>ِ">8K~,b|u3[q?9ur]9 /篎3N1nJWdާ~y6)HN }ۻPh#d$V: /G"ZِarhSv_&?o]v5]I7u5S.}g/Gʗ\[\*'veP$O _\iv)/~l"$E(ޝ~ˮJ-D0o3\ron'U>ڛl5MUD^,^X)@E+ P4D*-] :,N[[(%"2򞭪Puz.ˢ.dGڌ:b.@8ge aiAT'd( Rq/g ϝ^6oj%,==夌-&e!`8,s2w,y Sq3JNU} Wd= "hy뾐F\:`sru.wٟLћF`zEZrlž̭)`z,/!u)#WZKKŔ.d(#7oX^.N=(#>썘X1p<#Ԣۿ&Jӳq`L7pNl(&d?mqB16g44CKhA%4ܘդ^R=ߢaXD/^AfӁJ Q`RoЄ~2jhiВu-oe~ƹa>6fD-^NT6lm"vfMn=եIdt H0ԒZgɸ;6SOo_0,0氁,<&42 G9ylw:~[:gP@z'sCs "ߕ4s9ݪ !VJ5ְ6vi윙7c?ZLlrD#._-2ۍmʓ>} J>w4̿j3j\qZ'6hLKYbTk36ucݮ2o!\1]wzMzTpsjKMG|*љ_Svx&׵I;H:ӿith$ Բ7KA뻑! m0*@0iWo|h=s# 1.U ؅j`#+fC8ΗX>Y"G*Y̴ir}#{>Lua6CƇ#y?L#] f7,p"6kJ.f(xZ`6{brv= w¤هqb=6Wuy#T&ŋR9YzҨ-\43ڕB{%O .TO ƠЇ[tY/Tg~ծ(HȑvǭۨXʷqIEHa+ c9EXHs 9ct-5=]jq9V.hs"m^zU꿺jhfH 3*ub'1;iV.@Ȭ'u{1>!;W,1eQވ8j %f淚>GF{{V?#c8*Y棛| SWe}'OK2XCQc{LbdK|'_M> FMt+z@뎻Wd.)`F { >56F.̆,t< ``loШ;):"oGWptX(S|#)h@:AΌ]֟x"#E|+Td;Q6_0y?FSz kZ@z6U3!MJF5^l<܃g}-H~ Y> K'9GTxf8)J O{2UZ(AQ;q wϛa*iދGxEDXߔ N44nE1(44T6cR>A?#,5+3]&iP d5A g+nY4p/%&1o=\trπ~9D5OY!}C ^ $md->P s Jz7UMUCdYQ(+Al|a5t v2|5R~z6o'ҭ ܊<Ϛ\6sYSk'9=AΆXz.2-Xgf,2\r@_i2TMMg E<*:$n,<%8՘#S_*=##lJݒ|0V5&^`iV4˅bq @6tjJHڝA{˽ L=@ Bח`5h $]J{Uql@V%G^(gUCʼn%SV –Vy xU -8AKwyhoը{A J^tov,>=^{^XDlCbT j.C=,% |ƴU<;#l"@,1q dl"G.FӇK SK! e&/o3GA9;F1vX`? ߻~Fz*P{N>|qtT<-G0.̦g)V2x ca;\OMaBiw^B$Wm}opr%Yiq<.#G3}xG'(:80wy M T4%m!< TQ߻#Xkxx7ۭ M^Zp@IijI Sϱ=2 dfT.8h_:ԋkp@3p],졿$L.Vܵ2s(u-u;&]o/dޘ am7}#FT1}gJJ@>$`K_Th[BK<~U. 5DEKч3>Lg㙧.f80xnePK8́J>Zi ],d\!d-#Ghʓ_ r.Z1IeX jy_/C&C |oO{g=qhĔ:}Дom  q$ >&:ae[ߗy3a^exQ3W@Ӿ!jk2.P^pt4,lIii4\Jڝ? SĚw) `+\X>;TPA ( =}eHD-:bo!d  s|bTD9!,c438YebUdt5uS+%7!a:vLb9@q[P S7Wc62f4P=Dʂg}MobXB<\QFe%վ7i5ΞHf5>7_I> 쀂` 6N2uzȀ ހH3?tj[pg4_ ¤3HLbӄ%/ڤ*C3uwĥ*y!XEϺh zr^ϻ|&Y&n)q{6'j;o%ivXʳTُ#▸8hlb߉1qDt+!`56U,NaCy~˨SeZ_o]+1`|BWPy>-\ƪJ=k*%]q=ŎL[ܜy v>p]QgTwXt y :_6> gSŭ5c)5U-yS#\.XzA@H,7-]iЧ՘[ȑ`0_#*'Q6mC:cu&ad*QbvAV <Rv_U`5UDM#y#5@R~LT(hy8'f"pK,߆  RZG55'i-&NI'-\)F:MWI7`n!Ƴj 'GHan0~Pu "7bt!PF, Z U##]kT\TAGل'&i9mj['8~Ϫ_h=N%p(e?S\K#2:$A 79ZUN/BtU..Z8RJiDpԍS O(iru*<1*}$ 208x9T2Nؒ=Zu:fïϽXP"֥Ng4?pg~zJaϖQ9'&j1jenk5nOu!K-$Jzq?6a~#EX$-7 bTOH oTHs5e&~G񝠛hIC`!N<_dPq_.]I6MR;%XI ,92M&Z돶-:Y7 869RWEIT o Sr*܄յ=%TBJ1F`sxUףmkWzO"7f4& }Njpk BJ\:(6j0IOv^:ly2PyL}g?X\x%[0_ a+;!D4i`@ъ81b ҙ&x45F48I>C<ܦZ.dZ87. Ôs!h%JymbQ:9 .zdqQ;iY%{[ uv 2;5&d>e.d^+H H~aP+p"9\,#h1ʧmi/l1e} P·&99˜.0K u!Zv&) (h􏉪g7 O8B[!hqȋZO=X`:v* - D #~g"O$3Iװ).B jfr D3)M]a+*YGՁ`}tԥ-|yF[/p D"twIߟJxR?ʢcysmx8M„ e)]e'q;atc˒۟]}XYzbӖY8;I! !fX_ֽ˦EPَ|=@"86+ tR"& ܼx| %*PPs?X]*WR帝XKNl1b t0EkJЌVn]֯z]i&v^ ef(6@;2k&4 `R9:S#'3*a0} !<1M`r,9;Sc6BjewjD} {MTz d i!ZLQls:5bqE U5F\{Ib-uŰ =R[ONּTdlKӭYRIT\Dx$A+,YdR<@wD}I1CLfNl+zUn3j]uMpb:>mڭÖyJ,FH`]-_2ۆd|l)AI7t/ƽ=z]љ S9"[u%͌рm|R1P:!U@)RWOeJ5jhM_>-O( 3ͣ'7# TX AU{ *ʓo`*Ǽf: cVgGv=oo|v2ܪK1 8O,Nc<)S-#Ab|<7 Tѣ/O-7񨄸k-aMPaSeI!u#E%*9K4"w"$E[O&Fg%l^fG]GDĄ8VG:՜77a9l/D,' ܆$Jgg]R|%SS!L  !t6ݝOO4KG3 v~۳E}lX@1:ams n`%#F_&;7/SϚQXM\nE­ݻZ0+ Ref*Mä`ϐB_,UR@":0`ڍxU$5 , 3'U?'Y5d4eM˵~A֚ܬȈ۸Mϝe6tw|D>$>v|@?ub{k%aFfdĉewh ]-:`历w$#0m_0X9" SfnDZa'd0,"` y lVE[Lˮyw=?=ap2rqmػ7&:P.=I$nOhl.Bjk+o.lLONE4JR\>GO8 ]QH;S`d):[&}Ac`K61tsHdդ{Wh!2ck6ףwJaYi(Hx@@( S,&^sRlIN,#:Gߞa3l, ^G Ƹˁ.R>5HjuFz-JqOwGgcpf쵀m@ddE%/Pu+6r 6b_zb+[@fj'8H0{eIgi)|@a0i \g4OeHOȲS^|4#^~l)\D](pujB}qdPA'G,5a4.QO iji'׈?mXs U}?DvE悗Gy2q +FH?IĿ( N>SwyHm]PQ;E,# q>-ST9},!0 F=_{A~➯*f^JUmDso&){͛dє cn;\ÂP "f^.W(i5bc;e`QvtnǺ $j%HAP&i1J%zRn_#CkYv  l2*M[/?tV{UöC^ -/PZiщQEh?ÛWygr,]KioQ%Z|)䣝=O0D8]ʕaZTdF!ll+> ) C*P (Ec.n!Rݑɽ+&>xV0sێ:RW $b#W$븯!? |h1ѷj 9N8qT+ )0Dh$ vΈwdP_rC啾 y$'f.н8@)EdzJ;( ޛqD,@>kqL>9IWLcFzϰM ٕd)qXҧ,d|򲶡47Tv>p4\<y3լK` 6)\I.]R]>m3,g6;ڟƬV`= 0Y.hRXi2@|tBHdyN[@\q٥jp54M\AstlW sa#1JnMgeޟqDMGQO֪{}U>hʝФr)h$9c)5Bɍ?Eaϰǂv 6Nۜ@CC}A 6i.3z- hkl\5Xh?U] Aa* µ{.:{dߘ?+G0MO\M*bӠ+ӨQd륁&ݶKlזΓ"htI݋'r6SAp[;E#|e4%Pggp[>$NȠ jux\k (-ΆFS&n_B߰o ugH3 P+DZEQ➛t4zJᨵUڮĤprmہj͓t)ORe3*o! b=-k@@4b[6\[]QaAH>ςS1N^SVi՜RIνs78Ot m7[#CRv5BJLvjԻE#|F%6JLVOXq`PRֽF_샥P9wA+sĸ-O.x~rZȧ7o,}N=&BZ]s%e7 ɿX2dӕ)Wݣf!y?y9›ęi=+דꃘ-KBDNnm纃e$3QY%с/DB$ `U\!V(ђm  :]""ba{?}=ʛBZ$9q@\cS@r:ɾyYYEãRUh,h%('U3+HnSPVJ\Gj99O+Oh[Rd$AElJXweog=>clWu2&?O= ᱢ@*nKRNɸYt;4zH܀rƘ60 ПԷf!≶vy  g|ķJ k=+¨xij^eerizU*GW1Sg)iXltGXÈcl셺 jwMKNxO_d(Kj1<ЙtGWy$|AQ@5% ] {?B]ρ{YZ S jCwV0}] )`0vPdX(Lޥ.;oV8Ns1m:j*G–/VPdE(q4NE%ꍶ*/<\\3؉.sXpy?1Κ"; UڭF#>owÅB45RL{JXR7Fn >>~٬bIkҕe OUh1PC _s~Z`ILcKI#au&Zw[ü<q0$uJQQkWD1ܘIzQAnq٤c5_G,8ʿ"{XgauL;I<`W{)іIɽ3w6NoN#Y?ƫ/.xxn tRQE莯pa1GEj#4BIOHǴdk$ƪm͈V`~_F KrEM z#^ 0F}!<HyN,/c잍{zU`&9Ca{W FJt? 0`(U*x)zеhh3rT!l#Lޝ~?_.N  ~[[%B,7Ba:jISWG;r>лCQ)b yS/ASFg6>rkd fV R*mQ֟?rYW7"MN[if[718:^G#0Dt12Vb t8p<0 R xd$ʙCv>9 t҂¶i.> ( f\>٪.VNT7ۤ1W\q4[.'e6 ;`/ڼT&)m3R7Y:]Y ;Is(I0;LMYLܻI6Zs WJ tмzxw/2ƑchzZmw[Dtlծ4SB!+E5A߳ d6=vkb⥁Hf ]&uB+)uѴ bpTN^ 1{?q"Bo Ĭ.Q{1XmdcU:t~Ii~ė4ŽnF@?\ i6M%MIlшʇŻG$`r}?pO<2#ʨ6Xӌ"5^-2b^B`MWsֺ5ۥMK҂" =ѥI `';e΅&wV([ҏ(u+@A;?Yz?/ 6֒1V/2N$e'0 dp)s#f& %gO֘^co-9vX`Fi*њ1cW|K{3Ckb؁>ei2ڸc|6CћK wcE?U",ڎI;}.7dmZcoft7xC3ق\g QVU#NJՔKd:MCy.N) !]"kHTj7n!JvнU4qJMwm v]oFp~*ۼ~3j4 /XnQ3ۮ M3h fyU^Q cO8@a_H=;/yfMP"BؽQAc0)OH ,ی>XrD k56v OD-7 a ^/:SFPdja# dJ|msGXȿ)[eXM&CD e7 ڜmMC; oоՠf)IV}|8l M|<=Ssu:PIT(=g`(VEYoV;Bțw(D!ӭi t'=FZ^Zr- mi۝h8?-NЌL1 X/>9In%ꩬ_m Dܥ^r/tnk}]s$a.? ֻ!(o|,3xG #)ydfٍ%1iJN?YgsӒ+odTUyށႧu QFkf&X[bUSC; b ؾ8 Vbd- "ZȻb]B0rHc7,2WZl%3Bɶ%q4GH~+7EcB2|Ǜ+~j A;<)P^e{l:o"qKNMW- !OH?|Do$3FՑ.D7b%-Ҹ`#my|;dbJ^qo)I yz)|mmk'Et=߁5h_`H\C"Z|o!ͦK۠;w+&$AՔN=`I{y/)Z؁7%D#J:4l7k4-6B,|ܴ\J(n|3U4xu(?4">}*SSi[diTwٰ.wEjH0zɥgGS%;Mg36`csY]#CjGU4u;DŽ :9/R>Ƶms׭ x X\ PVG}$: ACxh A< ٪ <̿!XWĎ)>rT,گH:۴ Hdhxn+.pަq LtN{E?ay50P3P"#d5#O2g;%Qt; 9Cփ%E6u03ۍ(g[͗|ͦOʑlQ r'υ{uR$Hm H3B$솬]KoVк[zhJ^RT[!aTδTˁ =pHؾoBjᝏlO1Vzuk;n`yABo5ERW i3li4bQfYg>e4ueR9TsBZxHӖ>éH&Y/l @pQYȋUB(=BiթP""II7$S綧MǹyR; %%2#"!~oM*L܅6XR Ԍ* ^WSlrf؉F4שLJ`Dy5f/"m"uK‹m?*QˮQd3aN+p=n5x;Äc9=oHkc/?}MOK;uӿn|6)GU`S\ (/yfu zs +h[E3(< _}0EpeGKMAQ|yT ,xCyH(yA+{zKT3xuM)چ :L2*k(,aAƵ=s!AfdzуNDr3D"]x+p-bW-E):1Rkq6)!e׎gz>Qf"̳ 2DMU*ex-u$ʹԷrT[ƔpRJ.H.>󋮑eH&,6Ǚ:dz&lEqj"%4/rXt/UIhagآ=vqW ǹz)ǔi{fXx a\*9`D=u^i: -*l.nb8ePzw*Ů|rp9 룣ou<;6r*pX)a$j὾.Q2PDϻV;#>TVV{RfSW&yb_1;'ptOjm? a7g-K/Ǒs{sTN|=GdN 8NIf.xnuGz12$9> mpɫC3yvk'ޅJ3e+Pmt7t3㹦<& б"EuF; 5 AIݯ=\*[楝Y yR f">YCe=3mA e!A5iZ6DVoÅۢ60H?Mbj`B/EbE?ǔ `C=;1B9Zbe5EYŰ)IǷ0? ܨ>N'9#ۡ#%͠4 syf|XʟD!5`3Ș*F r] ̌vSbn?/#LHWY6wMkxﹼbsmx3rY}HfP7z `J '+\-hIhk2~87Ԯ s'e?f3i5}ZO\'5$?/%b"7T#wyt ]}YI275.3ᴚE%8 kCx.䧛??\7VYI@Z+~Sg@t# ׫u;uɸ.sj|mv *ヮ׀UB|f+ȱ=C{C&I]Pq{ů+gu&vP*Ҟ@A&ACY[Yw+ x>;O/`3./5 ?tL#`}!py`LrbJR ⨢r~6)W7?<~4QҬ"Su[C >cM t)h?w4Yȇ6$%UKbܕnU3*x*Q>T>Jؠ[CwWP[UU5KNM3\h]d *#s>lBq0H?1 vdS-c-w&*ghtutӍfu8I=YV=O}hh!eI.Bm?\\&Fl{njy7s;2(r#ʕt©Iyh(e8Ӌ 蛬:sɺ C76pQB߳Rwz%yjV/r9 yv)`׸ |HlN^ӳ6ږ9C9 {{I!(:nqX3Ƥrڍ~ib@ǶX[=m%6Tr%3(nW+sٞ۩)3`kE}U`t^36b΁Mjpeʹ+(8LH꼲O1 |c'd0bR~ŦΧyDOE-)=MwjԷf8zTn1ܚcFGtJwٗa>},B=qP H Ï?Ce%N x]KDd/^soDb܎EU#~YjZ-Iߞ^^:k&gTSlQdSp2ѧPT^Wx93ȭ^r /9~?oX"Q|åF JĚ {N1)۳9fd9Rwz/kP<\{y\U獃lgɠˊ![Q 5e7~2ns,}. o!ƅ#qt F?$G)4Hֶ;ݓ>uilcxDp>{Lguf S@W7ِxR8+ÝNR3t8Ze),ާb!<á_7\ ZbB:DxFؐ_''4a'"_E'djEo,FdXN* #wb_. ar'c}`$FW uN kp#oAԙM$ $ n"dis;&i>մs:]@938r'!qu=ě-G'f 3[IA]'f:a{֑/OWbbиm2p yr=uQ ~hZf.aҩ3!>iOܝRFokc"#'İtoEϐl`ᵥߵP!"sDsT2Rtw%a_bY|ӎK,ٖˬ]@ǢCh}BgvgAZ(dzf;knOE8C9sDX0p0Jk\h:C BB@y qĴ57Len4SZH[~Nvqmr 2jqłg@}1Z|fz],Šˀڀٟ53v(gKZGO;CM$= ]?hVLRLݙ0|Fy絢?ʃr-B&x.6cxV(*2.*ol܊?E_70682@A]QV{R4!1! ymH:13KY+ # .U !!94QL wV+ydםy1,,FtV,b,~\jQ ='qGdp?˩ l;S !ص)EjlfmbK^/i! S`$o`/v"zxdžO*ޠAD7+ ?ݽPG2A|zp*| [)0yjJ}'P"D~urCl)>.# @ )gtF\pP2~g4(!h)î—(E:!fk7𑐩X緞F8&&kآg}E\Y.qᙻtU@wCaT OkiX LS! mv{z.nMpI_ G\IV(z߶1+.&?n'p#PI:nTMAm<nKNn&SiBGE3 JdT2yOxLךB&v~"MNK>.NN"7{u:ʽy[S=f"{䪘~N03HPQ(ƮB愭 ? ?H"% 0mq8=kݝkR*|l7Sh;MNa]}K=39z[-| &(n;5Q= d o_ Vy?',j l6e8K(`g,/HTb E~NkXٕfwAaLjt~,ad_#|#|m?[^8DzeݏI$&|7  P׼E`WdrU FNإee@WS#9%$aGuAdU!=ԒE[R݇Y4#f*41{ZY@_`*L?Gz c$-~(Kx W4\{Fs<%$4llş4`77X:1{FIj,yfĈÇ]\ BfC!5׀U{*ч]bt k<KT#%,9|q_OO)&UxȢK2Yxb[^ 3uV 1b=nxp>.EǛnPdOAm$Xf>m$x"LB;˛8+v]ȳaoX=/^!ǯvwMa ZmrHnN'YTEQkϘ1fc3osH*Qrgsg ض0Rdiq|Ҥ ĩ 5rhzN l(@ɶXʵג-8y\98)z1 nº01hq *1ң6[IP2vM("PB+`8m?k%$kD~A>!-=gjp؈e)&5~HH?!C:27vARj[qT=Gt^ 7y8=RC?hSDԛ#>$$ 8v dM.2$( R@({%Y\_j6NC+_No,Ҳٚz\?(FereB$;1:=7-ۨkW.\̼=|̆qOj+)!.N+f pqUYr 3v/n\׊RcHxh j},r%PkTŒlE`CD\9 ,/HF\G5'VEKծ*#E_Vzg0$N E?\jR<v~<O%%!o]|#d([) W.J|oB 8oXB&~u37y E?O'Ҡy2!`$˩qx%g|JbU" 6$ed3COK:7`aDEȔ~Bwr&郱%7 F~)tzF<3~C:(ȲZfqgQnc2! MiEFM"PZ郝:mwL+Ss;mCzB#cą/J)z5 CȲ?F/7v'[͠\GpynA@QX=ϼ_]{踗s ]~?nYtlĸ)xQUϊkyUpBWƪdh Nt.:zw-uf ֈaqv` eb۹ABOcCfYոetPU[2&7V Sj_u rL7[x>|6uG=Po/ voUѿK-:hXqI\>ɇ͑ ff{ WygK9$G-"`Fsïxt Pj{4T&R=7z3K_֔3|r?Y4 hq'9mLHp??wJ_4jbrrYࡁ!N!FH9/(+u,-_QO "=ᓗAٹYY6!QQAMopO\. nzһ/kFS45|䬺֫\uK$Br 2qlIAda9.eN'a9]Q2_>b$њ[1+L7D>Zs}DOI{qk[ʑ*ۀ9Yc3{+t6 9)޸DKUS۔6F_2_] fj2Ľaw8c;z1C1~L.#ƐtlXyXeλ I&3E_04x+RE<Ǵ7T%gV`Sļ'ha355kӌW9E{lpYp׮ `d`Q'qzQ W=Pء3MkG[hH5dk_RGN]b9Osm.Dh y7P nϬM@t5 SYeq%q+ٺʆX|fSn .eyWWLw 7s(Yz,mEG>"ݯA1S"`T(ROu&DHS1_ z={CTslK:jm 1VH`HZyFvX:2ڗ˴3 \qU)ߜQұ(nUebK< d#r&lԪn4z"Aw!~V$M bpalu'|nvh}[>aF)VG*qc _ 1z`^rqi_ s5L3Z;V3yCXqD LS@^Yw5 }xډB pi\vvDžhYгR}z^*dzh ~gaCU0ev,#?H jC5DAU{C9@䓊$m Xk |Rx wcW?ȄY7}R7h'P3gpJn8E!>O\-wej>~Y笷hٽC̸'|` ||w]Sj>+JdctʹQcx!5*R]V.]L 1eSmwPs'4(a1 /p`͓zT{("U7os H'ZCgM\Qo'' c.# a1^O<,N9)p9l7y"< aB&ܳ2/d_Dj]@'>~ŮD@]3bB4Tb1 !IŠH!DS5wJ| l5߈" d'uy~# xrxA=g:Lu-8 @{f wsn-{pIXWU{Y*&|9iThl rVyEc9IB(5͎#D}Z3RS덳zdD=uv]LJӇ kWLl͘fͅҮYooɹOѴ|Hpg@2W wCj4Sv3p)$X{>[ gjڲӠ Bq*\v)WBq*N2M&@n:@{squ..,7?*wһi뫻_(gw2cفVԳ{:;1?PxX~0B领8>FF׻:DUٓ=[ aB%׼V@<=D Web64ѢQoD!r[JA/V-<O:ᕂjI "6\i=' W >/ÙO+yg%^@]Fⱽ,P/OH&ܻK2!xIf+c ĎQRw1Dc(*8W'LRybk2e%V3#b)r6Mg ky stK,CCLw}+#AQJQr2,!x>H5QG8/n-ӪQ+iC(sn wԵ*-P X B^k#HR %yLnp[ +Ofi/\v( Hݧ V].(sڢCRkLE*Z3J.u&Iq!-v@-!G>EE;*fلx<:5.NۭQN-7ޓg4+،V&Гf4p:Dj:}Aʹ@qI8.-Al[$pE䝏m׌Hk/').c;~lAN-@!V<W\xjeƞPjg8mxhV!}P{ߓOXc̘,̺aK\d]w'i7j֤a'5*FN9"qr<+I S;-T2Uz&-jFq5z2/?>q{/N1mw6m,"^ OrLnu7bB ׊qzR/)&Y|Busd4N2|LeN\.,0\d:y or6 v}{GCVX77P{j_hǹcT-k)eoڣJAEs^y 5y*"Aw+AI/J6hBF W']_AOd&B$f5!wY'c͒Wҷrp^mu%asE,-(!\:;.yjf$a)^L.y2< t\8b<Ih{ 䇬/[;H`ήiÅŮGb5(=b_[GvkIWqaD?*?85jXZ72pKdr'%$H姂 9&] 3cISz[.L"/PPf Ucp-dLu n Uտ}$mvœTf)Ktmx7w,j4 x!˯6Ze/];1, N~ W.a?To{`k^/ 冿a4rޓӫF0ڣv`y0wTˬdd 9Q p!N0fvv-~6ٯd>#]՘ís. Mp7c׏^䘮]l]m\Fp@%9vUMp/Wl8=u-u?"HuezZ81GtCN{žBV(dˆ lMͭ$j4f {(f!{eMnt^hl+"`p@]K'ᵛgI-\[hbqQYCm|_@`w|AlJo=j"HrS< C`IqL1g0]qNh}rAW^nA("-Xfv}gzpK,{-9dcN8d89 9- 3·F } XL!ad+5(Lu0t*O(%]O`U.:xt.fTD6Bg'tƓ(bu5n  4nܲxnUPo8+n+2b1;5t0U{,sn 95ka" KVMyg4MA,5 Lg~ lv޻;- k DLJϮTv &(]R@vpO?S\Xg[|aK^FlIV0f`f 'ɛh]#{kOt~:^A>eY_b@c٦mE3U=Fwӥn\$}*nJOS`U "e@jrr&o \5r!gJJ;MxSa4s^=~կLaD:SCmXtˮ;(ןQb=8̱ 6ҍwB7"=V9z\_$_+djYAEB0p0o E -ښcv%3f;g"Ȃ..ُ2C^b _/d[OЦ¸w ?[çCWÿR݄;2|h`TJT'DLfc P`ca;yKtN؄60eBEܘjIK`LܕgQ&FY^yQ L 88>LJBVݵ įfhۃto8\QxVa" $XGmx 9_eEm*7k 5+4~-m by>-K>O Dq،vpntսKkDLLo.~2"ѓ \a2>?KF j54.V@Ut]zTqܝ -SaBS(,O CEA(lBc|:lÓD0]X0~#/-AT4V$ 5LIWvkܚ_CLRk8]wE\!qr/&.2|՗􋐭\V*C&Pw3Ѳ+7ogR_ e)/p3ÕT肞rDV3XȊ&0YX3%TX^&4@ay"ų,egݥBnleX;õ,?DI3gnێ;t(=E}.-TX`= O1Ṭ*Ec5 ̍x4AE@chDJdc9QeAŨscy;5nsF*ny\VKPᯨUP r;1zFӦ˛j@*-0r$ĆЍt/;#OtB N$Z7AF,V!X -u6hH8 ~9һ-VCGƯ1e`+9sx0,쪭yXU F /]Vmb)*YhoO\`(%1AfJ< KD GX!Blȼ-R5oI҄ڥgM$٩)gLGP&q;j5pŠ󵲫3O9 T2vUoL<К|Y=>,;5v/vPɷ+69}zZ}|tz?iq1Kd>[棇c0VW<>VFKj %@3Ȥƥ';Ȓ0A x#^"jQDLx,sJN<|TC:(`/ZǂDi`-VVx4.F4  y0헥 |<1[=}5llvd 2߁}Q wI ,dKn꣉ae& E R9n!~r¶qӤoOOǯ:jh2e ?zIBm= /ɦ3jW;@ĨI$nl+SDۜmWEl>MEm =6Z>vxx4%K׏x-QҎ*|[4 nS%$? @:;ͣ|^}N΢Q ƹHrA8t50JvN"H~sM(nػ1&xł#/&l{]pU~Cq|%#"#GM}}5rtf9ptxs. $$6 K=lZjBBu2mH?W {!['o=SmOՅYIdbyZ)0!~osbXuVIގΚ_#k ^H}8z%c.CT%DD5dFxЃrŰ S /(Ne/KXE!ٯ]nEozFTTDJ$ތW0m9,B68oGPVljԧ[%FmG%<잡Y/zz/u53n5k9%DbrIր4+3^S;~.zy6RM`-T&R'Tot{6:jOۗd`;V/lrVb%1_ LZ$$@*?,qم-:J,ݷFj>u.7>$j9f[čclA*傺0T rL@)k&o#_YgOţF󁘙*."qQ^#Ys{d]c 7mi35Ї~V3 A^06 -0VÜzر9h?ǎ?*JQ"OA#5E}V."&Z%@Ú^ls5fYywRHwK*hN +P8n>vװZ(*et~baySWcD)bs{)gؕ9;?a$ͱxM2%t [~Y=ta\^U; ` {R4^x5-v4XnrXjNy6!|[2n0jnܹ6߱i5*3:}ǒa@(HyR [g.23n.V=qȎM4u)f{B kHmy*"+Ec fH y]&{MC-wf hy=J ~n}RYSCa.Dxi]~ƻ6QMtFn \Gַ#33 '>縗|-[O-)@8# Z[-e(g_e\Xɻg$`A"WS&<[0r ֞0Q?r^HA:6>ڌ|FeUo# v:,'/%ej{*jmt/ѥ΄tf8aDUIj!k*͠k; ܣ`r&d]<bu40GY&(pAK%Zw!s !(KF !DdoYI5ѿ|X3A.;4 ya1I t(B p#*=W47h&@ʉx/2{pih0Ӹ#BP %(KȨ )7OU[-ySc5TIH]'U[:!'r%m'AY7 ʇ|Ց*v" ?\DCC%d;cTuSu51wX%Ya>gt[W DXXs n(!;n)o( 1],G5 >O\wz,LZAl-Q|malJ|ǏE4Qv=3#*UO_Qzql0]UϤtutcxf0ȇɳ7վmX&,l?Lo'Jbgxvݸnr"B~ٴ=v.1ӑI_mM3-xww_H. (2hY*.Tx%t`P (6,ν'@KsdHgm1D=ZpCHاn=nID抿z4.@6`ōMqI юBej*33YCg=DY_Gte#! Qb0e0;Qݭ Q~҉&)T%y~6܌߅ҀǡQ#ȭ˲j2v-"vb7ԎMt&f|V+GX;_BbSxʲ~Dh=&""I?S*11ao 0 4G`a;1D49$h>l9ha/4?6ƽYz|nWt7Va_3R~rfOmiJKd9\oȈ=Bb0Ϋ}LklC?Qb Zc ثn聣CK^gJ'[U]Z&!ֳ =qՠ/ ʎj]XxD3G4BF s[O.E@($Z".J:ETixQ"Pg6 #sL m1%x$@НMTtb_J53c3¥4pPQ#;x|DCBX_.^d Ռts;F~NV{xCʎC#`wjM$:.05l9Z #e<! s>rJʱP]iGOmQu8IN,X.}=ʇ ]^PefbQ!\Cxs)D#t!RW )z`W U+PMS,MfL/#49_]UGg93r)5pҝ9l#zұl+.y_Pnz2v!9g' Y< 3bEkg$ } Eʹ!Q.#Vo˄B7znqTZNhr,} vb f|U2#O24KumTĖc2jviwIX؀%]6_su\ ߞx 7!pʉNZ⠮ߖs˜Yz/_I4F K Np{_Ox VJHcg׮?$eק(G>kW\Ja{VXzc(2D/䄁$2ܕT J?_+y fS<$&akߨEU2\Gb &EOr̰S"Uʺ:/$Tk[o7RyY}ziձ=\*3EۦS rX3-K(m:fщޟEOX!9X{Y4x 1UB}uQ@5t|c6}ۏ TWPh|,%HZMB$T :'\PzG :ORAe6|C4(X›F#im[g~Gd'F4ѹc_aP}،(PBb}їAƒ2湛!YX| _mQy9rD,Mi\6<౰E85sDt#hc.6ׁ7D,N^ftYq:2E={]%_T!H\D%ΰf_oO (M, Oo,at9Arʉ=Qas{m 0mdkn9{XㆉG@_ͤb8\/Ak$~suAj=A` _aE =LW]ë|..1_(fo{Nz}b#݆1*Dpkpw xnLxVŪ _H D~7L\+ yMGYd<~鏨Fo*\rK,_.1$Eji7KYK~ y}x2?d8LCm2[]+0bjHK0;z9Z\y(m@! H$IĩߤT 9okaH Ȏ}GB\cƌQCF,Ou5׹䶢C}cQz˃rO= ]N*Mbm7 br58iJL`QCd},·DmS׀>[^l{5Gk7)aLݑIJrƯZ):\'"!ѨR0P066X8OhT -y®$vF'w#Hcn?6|WQ#φ =pL#[&,ֵW2'{E?['NO:ϬfLT_t>wJ? >Ļ_O/G)neS^< TS,1]0^q#yislܦ3/ZTўGr6-S"K9N} 6 G*[SusVX`t( M du4рy#)Eg|,'Z0h]\FK۫ȔS"Ϙ.ctDs+r;ExHEJ,.1PAGCdxb c;jmnp.;amūP8c(y4mh3n22H\ #RR\U wu:*c{,;(KR.:I)Ԏ-fNZj 5b{ٽZ6, 2AoǦVF^q6hd@:颊zH*Q vO+p=pa1۝AFK8 5~^ "p#rjΔ8Y]8꥞zU,r@ 9(DA+EjkI ?3 weT-L|"JXdNk胺VJ)t< Ơlj?{ K5*dCg[@Ľ/wKt{hꃠCLuPXh#ژ-Wgi| Z|ܙ}|7W%dJJIB0kytt3_=䬤}\1bI1S9K6ێBH} +MPbX5ғ1}\m˅6)<iHVR/D@qt}=J=<xR_][Dd}](E|cq#@/US8"{d1O$ zZbm*0*JZ'^Vy;?5dZ̙N=ɡp3pOa&7)?N).\^ϠҨTUTu*ԔTݯ! U+>Ǵ0 xn;!{nkm!(榗~(ng-*©e-!?'oR"+rbd02-=>-ok uƢAz<]> 17Si9 ߻ PO@j0׊7d(zכKxN̍Fb5UVF Uֻ88cnQhnh9H3Ho>%5eQI'G"lZl6Bܚc4b-9\`fbߤECMy`Z[sS2+Pܵєq1?bH Q1[dwr3K\izէDSuQxL֙"f{9M7yk~Z'".a<}BP"@s5~Dv3-wPE]N$\M&S.! EE8ԣMuCxD2/~і S+dX *.xqajLPH{۫m MuuW7GjA<î]#f^::\;Wp&[ד?KV7+yJTNS#$.uSw哖3eñrI`4Ҿ^]gy*TIbF(1$D&2cC"L 0=}f-6^p c}Ckv,!zk$h_(? S< ,eOx tnMuj5Dvi- \DD \c;Ry!O@X\@Ʀ YiSfh:BrMz1PFo6$z;4@$R+W:Vg 0j-4o<(haBoG$.q|MLJ5do S˧99L@[#cnl.AS$N]]#+@F ]Mi[yWƊX:sUW%YS6t^VLJQw a?kE͉dV gQ:?~{ʂ_ZtqFa8I7Zb}ո&_lS EGHkLUCTS5Xc S8؃"ʾɅݞ-FYdD[>y%/aw!O4+iTP8=~%B\1m4Hu / ={FʐMT,]➆&Z)o3 4*~e,tZ%V0,: wmϾ ߪ+?'y+Q4.bFi!~Ȟ`;j_ݝ&(/ d* ^[m66U#6"%+NuNZsBZ͚6šoZb4FCWɯYxE蜇g I 6 Eԙrޣ͖sF?~NzZ&8( cYrwRcSx;֪k86.-9!%d_2/G7fס)/'#1XxcD0D{ؾ9H{ {UȎLNt xȟ|3 LAAO=ZrL:_~0yJ"וL$J$Z'Eq2Pr3N%I7"/E4%]6c0zF%R"085S"oR'5# (Lϥ̩SnGv>[4Gv?XP o C 1^=yD2("kԑ=ۘ`^|D![dz 4a7@/J"j֛QK#Kgoʰ?N8J͒0ͅpbBzQ@O<X&?b0waPЉ .{*fJڱ5ii[} N.DtDE{#f$]0}ST BBCɩiO ]3KHvglI`Oq|fY9z]-.Oc<U"PBdIGA)ѹL*#CJm58h:%-_F9}EU-SDEkSifأS(5rsgh*)%tO;A5VE޴< ԱG:]Fh(>d$2)P'dfP.ǜ+74\Ç>iCжY< |!PE{L9uRi~;g ?@}j#kYPl6~ w]Ze+ wa qʄ?3r׽ DÎx2i ζHՖ]E&뚶: Z"L`Kje6z }shp8΀Ms>[Rq[KilT+?؎j^O[˭2X6,+e& X!ld5kyj/4gX nreɰ, B4>a*.󭁵!zqqu?g;\]2S UrH0kОֹ6հfȾ`4,.ڽ33h=@&g'(5)ÌlX[&ޑ)6.a4ג|5msҼVV y&Ջ+?vNΙy%9 M'_@ء>3KZF춳s4逗\?.ȱ> GP{k$&;>Ovڋiゝ\"܀?F*42g, /o*6EHޕmqyip"8{JVp#!OJ(>UҚt_Ӷ|.y^r~3E/ngu|j=c?1..5cբaotD+4]<- drC<%#菫blq)H9Zp6b0(M iS켼$ 淀n`Y7I@~w- $$;rޖldIsUpa|CE?݉2ʖuDx5$QI$>_ks ޖ)$璫y~qꚄa(Eti I~ \,,F^5KWP-`Ih&*xZ(HϹv]z*0`ŋ=M#5C}\JoêaMmNC%ΊfE3UqGϪMils6ґ1RF&G &t!yKyсqIt&1B\kn%#deM2,KU8PxgzuP dJ!TѪKW.yceVk^nJ|1k.{]-KsξLUI>L|C9ڗw,?m!eV@=ֈ3Tz~sw5'lY A7Ǯ6: ~:{o@:"P^ѷιX%[|K]͊ǂvby~|<@_#/сs'^WK4|0].zVzyc[vN~00YBB _)X'"+zrXD߂dŷ)ODG L$xd!IJsuT`~'G+4l}->YV`i/݆YbTGM^lG7{GeuQ]\t|GXlQPͪ#!E,dl"W |+ʶm}[ Լ1?)Pmr5f@t?_iBo=rq1|Ƙ[?6"KI\l*. "Cn˒m{xV+_j~NE^YzZ% $3jV2WN3깛,Tz`|VemP,K#WzE~3wt5(kG8@}`$笢1O?w7v1mܞ6 lޫreml(M OJ,As GFkQjr@5ⳈvEgʕW&)Q&׻`UrV8ɜ3 Zj_يc-.(X-ǭ-{c4N?aE>eLd%!a;-ux4PAKzZ+gbފQ _BD_5B"/_4;tA M7ݵ0o4fGT{s"8lphp"'N۰xJ>ǐ(rAScZ`8!h"?["oޭUB /EiǙCQÓ*vLH?[q9XHF% [RѪ,\\&h"HH>:LFn B \y쪑3&fncȴ! " jzg)S#0ߜ Oy.:EvR;Z?( Pw#7Y ;-ׯx~AI_kv^UMxcx%֋I$̳?KM絧YQm,l1 u;zv*p`?`g2YE/ˆ01@".pn\R|3hԆKAtOnOx{2 pKAѡ,3Kq-WG5|'<Cʳ/tY\-XZq &^ iMXkֿW9n7mw$ɭ\`׆F#Q z7( jїhiʐ4Er ;%͐ _7&b8zdV4V r&r2, 4 obm."K/ߓX=_)\oHlRq:GOBYrŊ6fq:EFU(5"FnjG?-;n "1 FV0i{@wA|VdН?  ` @0>R6C-mе,>/ϘcGVvEqԮN__K$`hD JOU%>vG9Wq u/d@C3Nj l*#iTW$bВQC n "xpKjWn<چ{K~2>!@."^~]xIJ7ʛK؉»Y~vt3X!{=\ D<ĺ@NL174_긨|k3z u\1프3ͣ,=H~/וyXG8#0tY%Ԙ\DG%\ڱ'5Ț)pv40J>Kt)(:^jhV=/7j>U=J`b^zHQ4 ˜oK$\6PQ|f'먡, Q#| 7zB&,XH`lV|hvH/v 3jHD^~!y/@#]axGodlhY@OG- ߱t1eq$iS]݅0zߛ lL]_jM_Cz+HT{MA <*f{ijFC-(8\ˀ-XV毎~H1  ef1zXQS!tV#XEEt9VEL- j*KMc?ڲV"9]TsQZȩmPC(;}F)ƘDg_Jbv;]4%/M H#hhMu[44DZF~4 (-H.]s~K-^5kjH$z0~U|36uGmu=3`I$YP2g7;t,=3CT&W+F>H<$Ҽ^\LVɠ;-s $2Ѐ 6Chƶ*nYRZ;m"]}f;, pMRMHſYԷSp@-:(jD\2W) 9)4 4  nY] xۿMRߒ>τxRO:Mpӿ5'1)mxI7k7:ʟeJ x岊cqZe8U*4gyɛB$T,xl#xˏlDAFO5d`Ȫ#5'f^p'Rx\8T_9:}JqNۻwOl!z µEg/QxXL2'%̖?pnQ7&l M74ɟMjbG}we &j,؀!A0^ոpŇ d}Qql' )U=U 'E .ѼVwYdː YZ