python3-oslo.utils-4.1.1-150200.8.7.1<>,̉hop9|L|ntrki;%p:ἴuM Egnw>+3|Oxv!d x[8?r(} əߣoVO9'4*%So*P3Y0>h?Xd ( @ 5Va w4 l    ,p - /|255848H 8| 9p (989(9:p(:=p(F_GtHITXY\]x^-bTcdefluv w xy~z TCpython3-oslo.utils4.1.1150200.8.7.1OpenStack Utils LibraryThe oslo.utils library provides support for common utility type functions, such as encoding, exception handling, string manipulation, and time handling. This package contains the Python 3.x module.hoh04-ch1cNSUSE Linux Enterprise 15SUSE LLC Apache-2.0https://www.suse.com/Development/Languages/Pythonhttps://launchpad.net/oslo.utilslinuxnoarch . hh ''//;; + +,, A A//=u=u?e?e   O OW!6 s (> 7[T: U U '' >>@t@t@w@ws@s@ccAA##![ #j H'HE+ N0/^ ?(E$ l\'A큤A큤A큤AAA큤AA큤AA큤A큤A큤A큤A큤A큤A큤A큤hoho^QXho^QX^QXhohoho^Q hohohohohohohohohohohohohohohohohohohohohohohohohohohohohohohohohohohohohohohohoho^Q ^Q ^Q ^Q ^Q ^Q ^Q ^Q ^Q ^Q hohoho^Q hoho^Q hoho^Q ^Q ^Q ^Q ^Q hoho^Q hohohohohohohohohohohohohohohohohohohohohohohohohohohohohohohohohohohohohohoho^Q ho^Q hohohoho^Q hohohohoho^Q ^Q ^Q ^Q ^Q ^Q ^Q ^Q ^Q ^Q ^Q ^Q ^Q ho^Q ^Q ^Q ^Q ^Q ^Q ^Q ^Q ho^QX^Q ^Q 08d18bcc317ca4f59b41e34f1c4e1b32cf327854488235c255c94e4390b3247cc5d455312590279fcebf530997a67e71423b484b4673d868eaed62047e2f82dc01ba4719c80b6fe911b091a7c05124b64eeece964e09c058ef8f9805daca546b01ba4719c80b6fe911b091a7c05124b64eeece964e09c058ef8f9805daca546b809fa6f16120b99820582eb15924358dd05b30504ff486c9172a22ef365ca8967dd4a61093e8d613cf6834a5b8333e202662c8bf6b2b6151b48d3bd7149a53c9df6a3b6d1d83b9d05b705608a133f5e7927fe429d36073d56479e0466efb61fae3b0c44298fc1c149afbf4c8996fb92427ae41e4649b934ca495991b7852b855758091a6ed2dee196cc18d7d1acf67f82e50f4833db4eecea8d2dca34548d5c8758091a6ed2dee196cc18d7d1acf67f82e50f4833db4eecea8d2dca34548d5c862e4be0995774d294f791f69adffc4b44a829341ec5bb6a63affc44abfd8682cb37cc7fc666155da2d275addf8426bf0cb0455d553336955597fa9aa734e82cd80bbb4984d8706c323eb0923d39a4d08ef1f3000267ac4df6eab9ad1975df6b9fe44c782c4416cf504e75f7f4ae1a80c19dd80ea662561794d1229111c5224c24a76f7418a880a0ea505a1f6a86655c98f85b09ea15a35d6b56a7156c01a508d3a112b6268b18b6b039a9e76852edec2aa94678edc326c1e4ccd562d431428a4f80d4c2c0a4ac07722e816c8684fa2eb6869bf1a974575c8d1805403ad941c7fdf4e1aa1d31410b2a72f514ef9fbc7551b7a0108b7ec05b35bb5ba699be5bdf099a1c470c0d90b09cfb84617d80f5b3b6beaeb89bc16f846b90085f29627a4af514a495c226e7c2b9784856c598c1ee41fb00ebe741d3ae4087181f501a53dcf93c20b77bacc698e940ce2c980d089aab5101b0c41abfcea8f55a69f4410ea938456931635d1b2dd636b2ccde6515e11c494a56bd8cdf77b181f26770a917d9df7dfe4ad801339fe623e0513fd903f362f6fefa62918217018ae78062223aa5b78adaf8afffb00918bfe5f2c0c4146febde0752ae037bf3033e994602973b0f36d80df67f206993a750208a9330965901d7381145d39477da9c61dd5ffbb992593b6de3064d658d1f1ed768c3599566d2db23b37c783bd4aa756bfe34fb637f3f0e56e3ccf8264a002aed371495b0fc1f25b63af89b207c397dce5cb2ae0860b1e0e947a63009329565645562ed7ca28f875948899736826357f17abcfb34c13d7ff96b59334b189e0b7445e09098a04589152e582f935118d35d470dd6a9a74e6619f1fc4a6dce497fc6d765903882deaf26fca9520b586fb1a8fcd0d581dc580efbcb12543f119733eb8cd180f57fe871779e37df5e28197a94ac8345f58f7d02bc7ee5d58cc50e293a875be912fa9081c81562d3b1ea2b480627543bfc2d669345f0627c9623235601385660da69e5ceb3799246543dc96bd2d5c40e6e5920ae9ffdea1373a5e8d35abcdc34b507e8e65fb1151423f1e310eea415ab82bf39c94f66d6d4f6f8114889a060715927f4f0f813449856f71924ddc61ef7e235c6a10f4dbcdd2d63976f4f6e52dc6ac78e1f54e13fc6317e4521c6ef0a7cd9c615b3d76d9686f6794dd56306f83ae34a119553f8f050dce63a892c1b8403afdb20a6c263d81656ffee2de17a7e0003ba1387b3f4aad344ff9ead0de497261370d7f426e0212c0fced9db55f29205895d2d6842fa93803e8bb8f72d8a16490657d409a2eee1148716cc2ecbb8ac6993c8734c23cf28c6f12f5807de53a20c376a4356e471a0656dd570d3c78c9223e558ee4c15fe3830ea8eb95808b039f1276d0715201dd6dab52a5a143bd5698ebd7dccc7cbf4b0725e56fe0c61fbb86903af56c0aefd2bf681655db52fc88929985165b3fae93f54452b6ad6c8e1076d91a266854f5a18a8d7457c3a37987bf72465dac2dda2ed46d914cf7071f2e281ce658c25ecc4227efe689c3bca9a95c42d2c6915f4903e00ff0ee8451d91b22297705ac3b1f2a1169c6d6afa6c7a546190cb7935ae67f863b9e973da4ee4b7e3cb4871edd832cb57cbd1b891b1b9a5d27c62acfa94b91b50121fbb81cc18e3aabf8a0c26ef9b109a06a4c786190823317e9ffaccaadbb1fdb5936dafd905308013a5669519e9fbac48cd745b51cc80d3313aca7bb35013f56dcfee2cb70056e6a63c4673941ad305942b7bcd1dad8388a9b546ef4603ea631405c367309317e2f28c4fefcde63f8e3fb5bd661f1a08871f9c71d7f5163fb53d2c540d181bbcb269b1360be46dc5b7ea91436df82e4611e3d9de4918c3aa7563b4e29c151a00be86260bdeb15ad110b0b5940e27c97474fa26a5eeaec9cd56b0fc66072e93dfb34975ec7f05965cfaf08d071dd8d29a1e509d0f0a83a3a9990b5c5a8844fa2fb8c85b2b5158c9265c0c13acf9d20dc7cd3a4b0200994a530703fd6454f10ddcc543e35b04d206a9cbfe783541d228bc7ed680c0f5f90af06b40006a822a4959f01b5bfca9dfd9336ceebf3c00713125ef12345f7d3f19d62e601c48bf17107d0072d2bc64ba997033944b52ac905a61bd737d364481725b00879ced07fe1b351a6be3b08fd1b9cd3a8cd92f75aa8d1f5f8abfa4af71ae81bb3ba5dd5d16a87efee60ee738ecb899fcd37e3ee874781ab9399b76e238a8ba4ece9d5573d844e3542b227d06c2b0cc67cb68ed28b39561d3b57f2e5171bf0a512c90e82f0890a4f3c5dec58732c34a6ecb2e58390f0d067955f22be3bb37de15361b984094868e104028127b234f17c941b5f38d5bb234e46e8d8900b0f41714d5f8b523a8016a128b4e9dfd6c08614ced092f58beebea29ab7482de3f648ddba4f1934843f6c93b48f7bd6e4154872ecc9abde60b2d5e24bb9a37c59fa44013fb13969010b471b366bfa0bfa8faaa22f6d722dbc776006d27f522ddf81af4ffa5a97cb17e29b3e56f887cdf0d9a70cc5a3348f1e5e2550e53c3f412ac594b63aaa7dd6708795fb7638ba01632b74c7cd850631c6af6ae712c61dc7449643db0fb8a49d0c4af4c5d911e901632b74c7cd850631c6af6ae712c61dc7449643db0fb8a49d0c4af4c5d911e9febaa05cf22ce38d7f568dc9ec4481b00a18f2a2ab5e03662dd834a253c3c7471f955ed13c27ee3703e62ce2b89844fa7d0c85f9a7ec2e2c2c6fb69ca9ef90cd5a74bf7f751ff780ce72c2cf9d22841073ddfaa1fbecf199ca9e3aaed08ce2134aeebab6ce0704364970ba1e5e3425cb8035ad54d99aae6d0f9a5466493883cbe23d1c5469f93078c8da84a1dd8f03ae1bd72851bc993907db9b6bf589e0c6cf5ce61a238f779d3fad4c875cf7a1da76109359a0364a3d21acd63b34d5b5ab6fc56b4a4ba7c50316d7b3254d8d703bf2cc570624433fa8866396692084b3e7e2b25f2d258d0ae26e8a38f15bb6bb09fa8a2916571a9212afa8a34118490580b3fb7a185cb666e21c0ebd822b4078d55f6366a87136f6972ec1c999b66aa2bf1f82c4745be3033bb697c22f2285e2587771e60740eb1938bce10059587625929844cbb58715abd60e95a4f125cecb6051e554b2834a942257eded294e01163d69fcc92110555b5ae38ed7be08e3896b1286e08d93c3268f8fe3db66a0373470fa9bbb4d584a961e389067be9387f352d6dc8d267a07ec2efc5c96f0bbfc8e5cde9ca4cb5116eaebfa206dcec8edf703e93b24b847b3ec9f469d3d9c52083a1403e0e671b4713ec7ae5a427d7e0c59af885d2307c557f080354bdc615ec60e35ce904cc25d3f82342470cb75b76b8fdb6c89779a8f2fb8fba373e7f17406c42f43a49f63e9d1fa2719717e9fe59179342a0b52bf3e945528d7b917696107444d8334729264b26f5aa90c86139ef5f91237fdbcfc852718e95937448ab1033cabd01ca88b4066d809c1c0e4b75465e9f3e30d40c95d4c7c7c5cec8bf0267a436ba8abd1afc93ec2ea828f60a8ea682093ff21b703e08ba62f4a6fab7ca537c029c00cc039a85b840f891c5bada2a60cba4f84d11abd6bb58fb0caf3d2f99da0700ff1d677fce4b446d2502db93a997a11c3a23906fadc0f833bef86a7f35d4f91a13916620a17bb05809d07d4c40eab0600dc67bf81efdee05bb4267f132c5611dba690a2743535954af5d15cb5e904e1c68d9a49e41ce84f7f19d2f2a4f7534f04973ce0a8ed3ebac13f8c403a6af20c8ca14fd709ef5b4eabac44e0e00090745d6ef088a2a875aae33ebc22cd6ab4b98060a8280fe37f0f9a99d7092a9f5f07eb5282f7071d2485f7f602aa0c72edda2df503c502a840144af811c374c4b955f5a9276466565b712d18a3376c9bd6ce0bd3dec147f427cceaaeed20a918d7f5549d78f00897c7c356c025bcaf103f15e55f36517075bf064b6bdb73a4b48fb2db275dc015f7a93cd92fc0069fed19e2d25dd003aa9d4be14d04a1b082fe5c8ea4265dcc8b70cf8a0c0f802eb2a53630bf71430a2f244880a615ca7d709545e9287fd7ad15a2bc9ae4722d1bbb9dd37353731a1ebfcafd74869b9d3bb203c5ad52a577ceb16db268552a9d3ce0c24078317e7a4486191fa3ae8bde4b80c23cb3cb4b050deb236dc404e8946c722c3c8c1ac9380e559efcf998fac26127f11d77f218692354ad3322fe8a54688541c4f866404a43a39e46c0496ddb42c0844890e260f5a9545173aed2d139ffc49d0e1c1e9ca4b61dc70436ae74609e75746feede8d019d5e59760b5be475879172ebdc2cef4971820e368ee3db4173c7af47bf59e67e946f3bded73a9aae599a609c5af22f9cb8586078cbcd8b4d36134b676eddcc8b082cf08ea908622f736d46a9aa50599b470ae7c0c06ffa3c1bb1c9f2147acc8b082cf08ea908622f736d46a9aa50599b470ae7c0c06ffa3c1bb1c9f2147ae3b0c44298fc1c149afbf4c8996fb92427ae41e4649b934ca495991b7852b855342bddc0eb7b3c69d9976c600d34fbb5a8fd56ad571b633d1c6d1ca188cbd0b6342bddc0eb7b3c69d9976c600d34fbb5a8fd56ad571b633d1c6d1ca188cbd0b6cf78e35083716f0ccac74b59b27e8ab5402bec179d2c2df861e316cdeed5de74cf78e35083716f0ccac74b59b27e8ab5402bec179d2c2df861e316cdeed5de7406ea969093b215e3cb0d16784848d26334788c60c307b00f91ff88aa69e557cec6bbe8cc7c9bf319a04f946178de6c60be5a40ec637ba9f9f725653c5453f84ae8c759c4c971e427409bf6db80f4c7aa98cd0409c767c2cb357a2713d4751161ada8aa7bcaa662fb91194a78c3f916e88f50c34acb53575f8436edc746ced41c8f827b9629c13ec9b53f442f743f454c48d8d89130727ac249c3c68937ae3e74d00d776b8fd10b28f12635045650bc2cb0b65b0f5c157f974b0c66e4d59aee3dff93d524fa53c616e58cf0aa41bb91631b71ba5994c1847c75b066e1f541d074fee0c44394940870183221edfb6c470e4c13d512317829441ad6c73f49e8fe45443467bb084f002554c44d154e43e67b3d82b582ea5f6140b0a98b314ceffa547941fab8e19f0848a8a594cca387ac49302b8b5019ddc7417ca6579c759bfcb03a72bfe24048b6570520170fdc44427a25d18e51b879107b1a9b3365d2ac5e04ce8a03244e733cfc1f615b463adeaab5a0eb1fb386f08fba33b4afd1503238fe014a35f2a4291cd061e359af2a87074adc1988145094ce7bfeacd54d92dbc433daa8a08dcb7f6c49d6132db5d1ed569160af144a934ab114753bf1649092bad2ed09f68ae82e1915118e7cb121496ec1d13702707eb52587490f6beee1eb11a2aa44696135c49ed3aa2cd0410ad9ad980b66365a0484bc4bc6249632396a989e3e4debfce725c0645d4fab6a23dde0918ef24983f217b3719acae682abd618cfa48ef494ad9b1a95791e52de931868659a9c3fd1ab94d64e52e80381dc2c82fb4688c63c3469b4a10b53149ba64081fee25bc925f7ca3a28f64b96981ce9a7e6ea95f3088d01139e30cd9dbd71c2cca13b16a346b9451ff802d7f6d204ad546d5d8f04fe034ae3478a2a8c3646f4f5eb21d3bb9d83dc28d6951e20f9ad6c8fd0c4f6d4d9916d4d6cb80f4283cc9b47eebda27d78b8ac05d643147271f2abd27886b8f49069ca8f704b51f9299cb46a16c4cd1eca6be8fe59453403bf5a02254c09e8a9bcec8067104652c168685ab0931e7868f9c8284b66f5ae6edae5f1130bdca8380fb968fc04c25be1f5e821bf100aeceded440a24209f278d7032dfcd14rootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootpython-oslo.utils-4.1.1-150200.8.7.1.src.rpmpython3-oslo.utils@     python(abi)python3-debtcollectorpython3-iso8601python3-netaddrpython3-netifacespython3-oslo.i18npython3-pyparsingpython3-pytzpython3-sixrpmlib(CompressedFileNames)rpmlib(FileDigests)rpmlib(PayloadFilesHavePrefix)rpmlib(PayloadIsXz)3.61.2.00.1.110.7.180.10.43.15.32.1.02013.61.10.03.0.4-14.6.0-14.0-15.2-14.14.1ho@^^r @^p^j$@]\7["@Z@Z@Zp^@Z\Z1@Z YV@X@W@WE@W@WzOWQq@V'@V`VwVqR@VO @U@U6@Uc@U@UnUU@UuUKSTTgTZ@T@T@daniel.garcia@suse.comcloud-devel@suse.decloud-devel@suse.decloud-devel@suse.dedmueller@suse.comcloud-devel@suse.decloud-devel@suse.decloud-devel@suse.detbechtold@suse.comdmueller@suse.comcloud-devel@suse.decloud-devel@suse.decloud-devel@suse.decloud-devel@suse.decloud-devel@suse.decloud-devel@suse.detbechtold@suse.comdmueller@suse.comtbechtold@suse.comtbechtold@suse.comtbechtold@suse.comtbechtold@suse.comdmueller@suse.comdmueller@suse.combwiedemann@suse.combwiedemann@suse.comtbechtold@suse.comtbechtold@suse.comtbechtold@suse.comtbechtold@suse.comtbechtold@suse.comdmueller@suse.comdmueller@suse.comtbechtold@suse.comtbechtold@suse.comtbechtold@suse.comtbechtold@suse.comdmueller@suse.comdmueller@suse.comdmueller@suse.com- Add upstream patch CVE-2022-0718.patch to fix incorrect password masking in debug output https://opendev.org/openstack/oslo.utils/commit/6e17ae1f7959c64dfd20a5f67edf422e702426aa (CVE-2022-0718, bsc#1196454)- update to version 4.1.1 - trivial: Move setup code into setUp helper - Switch to Ussuri jobs - Remove universal wheel configuration - tests: Convert remaining tests to mock - tox: Use upper-constraints for docs jobs - Make mask_password case insensitive, and add new patterns - Ignore releasenote cache within git untracked files - Ignore the .eggs directory - Support "qemu-img info" virtual size in QEMU 4.1 and later - reword releasenote for py27 support dropping - Bump the openstackdocstheme extension to 1.20 - tox: Keeping going with docs - Update master for stable/train - Add test to check scientific notation on disk virtual size - Update hacking for Python3 - Use unittest.mock instead of third party mock - remove outdated header - Fix invalid escapes in regular expression strings - tox: Trivial cleanup - imageutils: Report format specific details when using JSON output format - Verify the sanitize keys are lowered - Update the constraints url - Make mask_dict_password case insensitive and add new patterns - Fix regex to correctly recognize scientific notation with QemuImgInfo - Flatten test case - [ussuri][goal] Drop python 2.7 support and testing- update to version 3.41.5 - Fix regex to correctly recognize scientific notation with QemuImgInfo- update to version 3.41.4 - Update .gitreview for stable/train - Support "qemu-img info" virtual size in QEMU 4.1 and later - Make mask_password case insensitive, and add new patterns - Verify the sanitize keys are lowered - Make mask_dict_password case insensitive and add new patterns - Update TOX/UPPER_CONSTRAINTS_FILE for stable/train- switch to python 3.x only client- update to version 3.41.1 - Add Python 3 Train unit tests - Cap Bandit below 1.6.0 and update Sphinx requirement - Add digestmod when using hmac - Dropping the py35 testing - Replace git.openstack.org URLs with opendev.org URLs - eventletutils: Optimise EventletEvent.clear() - OpenDev Migration Patch - Update master for stable/stein - Mask encryption_key_id- update to version 3.40.3 - Update mailinglist from dev to discuss - Fix docstring formatting nit in uuidsentinel - Fix race condition in eventletutils Event - Use template for lower-constraints - Remove extra copy.deepcopy - Fix exception raise at rpdb session - Expose eventlet Event wrapper class - add lib-forward-testing-python3 test job - add python 3.7 unit test job - Remove moxstubout usage - Avoid calling eventlet.event.Event.reset() - Avoid double-setting event - Update reno for stable/rocky - Support non-dict mappings in mask_dict_password - Clean up .gitignore references to personal tools - Update hacking version - UUID sentinel - add python 3.6 unit test job - Don't use monotonic on Python >=3.3 - import zuul job settings from project-config- update to version 3.36.4 - Update reno for stable/queens - Switch to stestr - Imported Translations from Zanata - Add release notes link to README - Replace 'assertFalse(a in b)' with 'assertNotIn(a, b)' - Fix breaking unit tests due to iso8601 changes - Capitalize Oslo - Add private_key to the list of sanitized keys - Fix exception with secretutils - Clean imports in code - Remove stale pip-missing-reqs tox test - Update links in README - Add bindep.txt file to prevent fallback to generic list - Trivial: Update pypi url to new url - Add -W for document build - Handle non-string keys appropriately - eventletutils: Fix behavior discrepency when reusing Events - Clean old output before new doc builds - Document specs_matcher.py functions - set default python to python3 - fix tox python3 overrides - Fix project name in user docs - Remove sphinx settings from setup.cfg - Updated from global requirements - add lower-constraints job - remove 0001-Fix-breaking-unit-tests-due-to-iso8601-changes.patch (upstream)- Switch to stable/queens spec template- add 0001-Fix-breaking-unit-tests-due-to-iso8601-changes.patch- update to version 3.35.0 - Add a mixed mode parser to string_to_bytes- update to version 3.34.0 - Follow the new PTI for document build - Add method validate_integer - improve docstring for last_bytes() - Add method to escape ipv6 ip addresses - Add missing information in docstring of validate_integer - Add method last_bytes in fileutils - Cleanup test-requirements - Updated from global requirements- update to version 3.32.0 - Fix some reST field lists in docstrings - Remove setting of version/release from releasenotes - Updated from global requirements - Avoid tox_install.sh for constraints support- update to version 3.31.0 - Update reno for stable/pike - Imported Translations from Zanata - Prevent deprecation error messages from pkg_resources - Add method to compute a file's checksum to fileutils - Use six.binary_type to point to the right type - Updated from global requirements- update to version 3.28.0 - rearrange existing documentation to fit the new standard layout - Remove log translations - Allow scoped ipv6 addresses - Add missing documentation for secretutils - [Fix gate]Update test requirement - switch from oslosphinx to openstackdocstheme - Update reno for stable/ocata - Remove split conversion to tuple - Adding a check of string type for hmacs - Update URLs in documents according to document migration - Updated from global requirements - Use Sphinx 1.5 warning-is-error- update to version 3.22.0: - Make method import_versioned_module work - Add option to not truncate built-ins - Add method is_valid_ipv6_cidr - Add method is_valid_mac - Show team and repo badges on README - Extend specs matcher to support ">" and "<" - Added the token 'encrypted_key' to mask_password list - doc: Fix docstring of method bool_from_string - Remove discover from test-requirements - Remove references to Python 3.4 - Change assertTrue(isinstance()) by optimal assert - Add __ne__ built-in function - Restore operator - [TrivialFix] Replace 'assertEqual(None, ...)' with 'assertIsNone(...)' - Trivial fixes to the usage doc - Update homepage with developer documentation page - Add missing specs_matcher documentation - Allow 'get_all_class_names' to pass kwargs - Improve eventlet check when selecting Event backend - Add reno for release notes management - Add Constraints support - Add method is_valid_boolstr - Add threading<->eventlet compatible Event - Add utils for validating and splitting quotes - Create dictutils and add 'flatten_dict_to_keypairs' - Add toggle 'dashed' to 'generate_uuid' function - Updated from global requirements- Adjust Requires and BuildRequires- update to 3.16.0: * Fix mask_dict_password for non string/dict type key in dict * More unit tests for specs matcher * Imported Translations from Zanata * Add Python 3.5 classifier and venv * Use an actual well defined parser for spec matching * Remove unused LOG to keep code clean * Updated from global requirements- update 3.15.0: * Add basic docstrings to stopwatch has_started/stopped methods * Make mask_dict_password consistent with mask_password * Updated from global requirements * improve tests for mask_password and mask_dict_password * Simplify boolean expression in executils.py- update to 3.14.0: * Support json format output from qemu command * Fix flake8 issues * Use is_valid_ipv4 in get_ipv6_addr_by_EUI64 * Imported Translations from Zanata * Allow assigning "0" to port * Updated from global requirements * Fix method split_path's docstring 'versionadded' * Updated from global requirements * Updated from global requirements * Avoid catching generic exception * Remove method total_seconds in timeuitls * Fix is_valid_cidr raises TypeError- update to 3.11.0: * Trivial: ignore openstack/common in flake8 exclude list * Move method split_path into oslo.utils * Imported Translations from Zanata * Updated from global requirements * Imported Translations from Zanata * Provide single step check if eventlet is monkey_patched * Add method is_valid_cidr to netutils * Updated from global requirements * Updated from global requirements * Add importutils.import_any method * Add excutils.exception_filter * Explicitly exclude tests from bandit scan * Add CHAPPASSWORD to list of sanitize keys * Enable bandit in gate * Updated from global requirements * Add method check_string_length * Add missing versionchanged for configdrive - use renderspec source service - update spec from upstream- Switch to .spec from rpm-packaging upstream project- update to 3.6.0: * remove bandit.conf- update to 3.5.0: * Updated from global requirements * Narrow mock for getfilesystemencoding * Update translation setup * Add excutils.save_and_reraise_exception force_reraise + capture * Add encodeutils.to_utf8() function * Create secretutils and include 'constant_time_compare' function * Fix coverage * Add a mechanism to mask passwords in dictionaries * Add "configdrive" to the list of keys used by mask_password() * fix fnmatch.filter in non-posix system * fix fileutils ut code random failure * Add missing doc index for imageutils and fnmatch * re-implement thread safe fnmatch * Fix the bug of can't get the desired image info- Update to version 3.2.0 * Remove Babel from requirements * Remove duplicated profiles section from bandit.yaml * Allow get_class_name to accept bound method and class method * deprecate timeutils.total_seconds() * Move imageutils from oslo-incubator to oslo.utils * networkutils: drop python 2.6 support * Remove python 2.6 classifier * Fix wrong bug tracking link * Refactor Port number validation * Add useful 'time_it' decorator 2.8.0- update to 2.8.0: * Fix get_class_name() on Python 3 * Added ICMP 'type' and 'code' checking capability to 'netutils' module * Imported Translations from Zanata * comment in write_to_tempfile * Use versionadded and versionchanged in doc * Write document for each unit of oslo_utils.utils * Fix usage of "deprecated" markup in docstrings * Just use 'exception_to_unicode' to handle exception to string * Add 'secret' to sensitive keys * Fix coverage configuration and execution * Use a stopwatch in 'forever_retry_uncaught_exceptions' * No need for Oslo Incubator Sync * Make forever_retry_uncaught_exceptions handle its own failures * Ensure stopwatch __enter__, __exit__ are in docs * Add some timeutils stop watch examples * Imported Translations from Zanata * Move 'history' -> release notes section * Fix bad acting classes and 'is_bound_method' check * Change ignore-errors to ignore_errors * If 'bool_from_string' provided a boolean just return it * Imported Translations from Zanata * only capture the ImportError when importing * Add 'token' to list of fields to be santized by mask_password- update to 2.5.0: * Updated from global requirements * Imported Translations from Transifex * Updated from global requirements * Updated from global requirements- update to 2.4.0: * Updated from global requirements * Updated from global requirements * flake8 - remove unused rules * Bump monotonic to 0.3 to remove exception catching on import * Provide a common exception caused by base class * Imported Translations from Transifex * Allow access to reflection 'get_members' * Updated from global requirements * Imported Translations from Transifex * Updated from global requirements- Unify spec file #2 - Remove test requirements - Add -doc package- Unify spec file. Use fedora compatible files macros- update to 2.1.0: * Imported Translations from Transifex * Updated from global requirements * Adding checking around the monotonic import * Updated from global requirements * Updated from global requirements * Add oslo.config to test requirements * Remove oslo namespace package * Updated from global requirements - update Requires according to requirements.txt - remove 0001-Disable-deprecation-warning.patch- fix requires- update to 1.9.0: * Updated from global requirements * Imported Translations from Transifex * Add write_to_tempfile back to fileutils * Use monotonic library to avoid finding monotonic time function * Fix exception_to_unicode() for oslo_i18n Message * Add fileutils to oslo_utils * Updated from global requirements * Add tox target to find missing requirements * Updated from global requirements * Updated from global requirements * Switch badges from 'pypip.in' to 'shields.io' * timeutils: fix newer/older comparison with TZ aware datetime * Replace parse_strtime with parse_isotime in older/newer- update to 1.6.0: * Add pytz to requirements * Imported Translations from Transifex * timeutils: utcnow() can return a value with a timezone * Add 'raise_with_cause' chaining helper to excutils * timeutils: deprecate isotime() * timeutils: make marshall timezone aware * Advertise support for Python3.4 / Remove support for Python 3.3 * Updated from global requirements * Add exception_to_unicode() function * Remove run_cross_tests.sh * Imported Translations from Transifex * Move versionutils into place and remove deprecation tools * Denote monotonic import ordering + usage * Add liberty release name to versionutils * Expose opts entry point for version_utils * Switch from oslo.config to oslo_config * Remove oslo.log code and clean up versionutils API * Remove code that moved to oslo.i18n * Enhance versionutils.deprecated to work with classes * Add Kilo release name to versionutils * Allow deprecated decorator to specify no plan for removal * Uncap library requirements for liberty * Add JUNO as a target to versionutils module * Add missing reflection + uuidutils docs * timeutils: avoid passing leap second to datetime * Add pypi download + version badges * Cleanup README.rst and setup.cfg * pep8: fixed multiple violations * Use oslotest instead of common test module * Use hacking import_exceptions for gettextutils._ * fixed typos * Fix violations of H302:import only modules * Adds decorator to deprecate functions and methods * Remove vim header * Add `versionutils` for version compatibility checks * Update hacking setting * Updated from global requirements * Imported Translations from Transifex * Clean up TestIsIPv6Enabled * Fix test_netutils: stop patches * Add a new string to the list of masked patterns * Provide common `fetch_current_thread_functor` function * Imported Translations from Transifex - Adjust Requires according to requirements.txt - Add python_requires to _services- Add 0001-Disable-deprecation-warning.patch- update to 1.4.0: * Add a stopwatch + split for duration(s) * Allow providing a logger to save_and_reraise_exception * Updated from global requirements * Utility API to generate EUI-64 IPv6 address - update Requires- update to version 1.3.0: * Add a eventlet utils helper module * Add microsecond support to iso8601_from_timestamp * Updated from global requirements * Update Oslo imports to remove namespace package * Add TimeFixture * Add microsecond support to timeutils.utcnow_ts() * Make setup.cfg packages include oslo.utils - adjust Requires according to requirements.txt- fix requires- update to 1.2.1: * Return LOCALHOST if no default interface * Improve performance of strutils.mask_password * Move files out of the namespace package * Add method is_valid_port in netutils * Support non-lowercase uuids in is_uuid_like * Add 'secret_uuid' in _SANITIZE_KEYS for strutils * Imported Translations from Transifex * Workflow documentation is now in infra-manual- update to 1.1.0: * Add get_my_ip() * Updated from global requirements * Add 'auth_password' in _SANITIZE_KEYS for strutils * Updated from global requirements * Activate pep8 check that _ is imported * Add uuidutils to oslo.utils * Add pbr to installation requirements * Updated from global requirements * Add is_int_like() function * Hide auth_token and new_pass * Imported Translations from Transifex * Add history/changelog to docs * Imported Translations from Transifex * Support building wheels (PEP-427) * Imported Translations from Transifex * Improve docstrings for IP verification functions * Imported Translations from Transifex * Add ip address validation * Fix how it appears we need to use mock_anything to avoid 'self' errors * Updated from global requirements * Move over a reflection module that taskflow uses * Make safe_encode func case-insensitive * Enable mask_password to handle byte code strings * Updated from global requirementsh04-ch1c 1752141255  !"#$%&'()*+,-./0123456789:;<=>?@ABCDEFGHIJKLMNOPQRSTUVWXYZ[\]^_`abcdefghijklmnopqrstuvwxyz{|}~4.1.1-150200.8.7.1    oslo.utils-4.1.1-py3.6.egg-infoPKG-INFOSOURCES.txtdependency_links.txtnot-zip-safepbr.jsonrequires.txttop_level.txtoslo_utils__init__.py__pycache____init__.cpython-36.opt-1.pyc__init__.cpython-36.pyc_i18n.cpython-36.opt-1.pyc_i18n.cpython-36.pycdictutils.cpython-36.opt-1.pycdictutils.cpython-36.pycencodeutils.cpython-36.opt-1.pycencodeutils.cpython-36.pyceventletutils.cpython-36.opt-1.pyceventletutils.cpython-36.pycexcutils.cpython-36.opt-1.pycexcutils.cpython-36.pycfileutils.cpython-36.opt-1.pycfileutils.cpython-36.pycfixture.cpython-36.opt-1.pycfixture.cpython-36.pycfnmatch.cpython-36.opt-1.pycfnmatch.cpython-36.pycimageutils.cpython-36.opt-1.pycimageutils.cpython-36.pycimportutils.cpython-36.opt-1.pycimportutils.cpython-36.pycnetutils.cpython-36.opt-1.pycnetutils.cpython-36.pycreflection.cpython-36.opt-1.pycreflection.cpython-36.pycsecretutils.cpython-36.opt-1.pycsecretutils.cpython-36.pycspecs_matcher.cpython-36.opt-1.pycspecs_matcher.cpython-36.pycstrutils.cpython-36.opt-1.pycstrutils.cpython-36.pyctimeutils.cpython-36.opt-1.pyctimeutils.cpython-36.pycunits.cpython-36.opt-1.pycunits.cpython-36.pycuuidutils.cpython-36.opt-1.pycuuidutils.cpython-36.pycversionutils.cpython-36.opt-1.pycversionutils.cpython-36.pyc_i18n.pydictutils.pyencodeutils.pyeventletutils.pyexcutils.pyfileutils.pyfixture.pyfnmatch.pyimageutils.pyimportutils.pylocaledeLC_MESSAGESoslo_utils.poen_GBLC_MESSAGESoslo_utils.pofrLC_MESSAGESoslo_utils.ponetutils.pyreflection.pysecretutils.pyspecs_matcher.pystrutils.pytests__init__.py__pycache____init__.cpython-36.opt-1.pyc__init__.cpython-36.pycbase.cpython-36.opt-1.pycbase.cpython-36.pyctest_dictutils.cpython-36.opt-1.pyctest_dictutils.cpython-36.pyctest_eventletutils.cpython-36.opt-1.pyctest_eventletutils.cpython-36.pyctest_excutils.cpython-36.opt-1.pyctest_excutils.cpython-36.pyctest_fileutils.cpython-36.opt-1.pyctest_fileutils.cpython-36.pyctest_fixture.cpython-36.opt-1.pyctest_fixture.cpython-36.pyctest_fnmatch.cpython-36.opt-1.pyctest_fnmatch.cpython-36.pyctest_imageutils.cpython-36.opt-1.pyctest_imageutils.cpython-36.pyctest_importutils.cpython-36.opt-1.pyctest_importutils.cpython-36.pyctest_netutils.cpython-36.opt-1.pyctest_netutils.cpython-36.pyctest_reflection.cpython-36.opt-1.pyctest_reflection.cpython-36.pyctest_secretutils.cpython-36.opt-1.pyctest_secretutils.cpython-36.pyctest_specs_matcher.cpython-36.opt-1.pyctest_specs_matcher.cpython-36.pyctest_strutils.cpython-36.opt-1.pyctest_strutils.cpython-36.pyctest_timeutils.cpython-36.opt-1.pyctest_timeutils.cpython-36.pyctest_uuidutils.cpython-36.opt-1.pyctest_uuidutils.cpython-36.pyctest_versionutils.cpython-36.opt-1.pyctest_versionutils.cpython-36.pyctests_encodeutils.cpython-36.opt-1.pyctests_encodeutils.cpython-36.pycbase.pyfake__init__.py__pycache____init__.cpython-36.opt-1.pyc__init__.cpython-36.pycv2__init__.py__pycache____init__.cpython-36.opt-1.pyc__init__.cpython-36.pycdummpy.cpython-36.opt-1.pycdummpy.cpython-36.pycdummpy.pytest_dictutils.pytest_eventletutils.pytest_excutils.pytest_fileutils.pytest_fixture.pytest_fnmatch.pytest_imageutils.pytest_importutils.pytest_netutils.pytest_reflection.pytest_secretutils.pytest_specs_matcher.pytest_strutils.pytest_timeutils.pytest_uuidutils.pytest_versionutils.pytests_encodeutils.pytimeutils.pyunits.pyuuidutils.pyversionutils.pypython3-oslo.utilsChangeLogLICENSEREADME.rst/usr/lib/python3.6/site-packages//usr/lib/python3.6/site-packages/oslo.utils-4.1.1-py3.6.egg-info//usr/lib/python3.6/site-packages/oslo_utils//usr/lib/python3.6/site-packages/oslo_utils/__pycache__//usr/lib/python3.6/site-packages/oslo_utils/locale//usr/lib/python3.6/site-packages/oslo_utils/locale/de//usr/lib/python3.6/site-packages/oslo_utils/locale/de/LC_MESSAGES//usr/lib/python3.6/site-packages/oslo_utils/locale/en_GB//usr/lib/python3.6/site-packages/oslo_utils/locale/en_GB/LC_MESSAGES//usr/lib/python3.6/site-packages/oslo_utils/locale/fr//usr/lib/python3.6/site-packages/oslo_utils/locale/fr/LC_MESSAGES//usr/lib/python3.6/site-packages/oslo_utils/tests//usr/lib/python3.6/site-packages/oslo_utils/tests/__pycache__//usr/lib/python3.6/site-packages/oslo_utils/tests/fake//usr/lib/python3.6/site-packages/oslo_utils/tests/fake/__pycache__//usr/lib/python3.6/site-packages/oslo_utils/tests/fake/v2//usr/lib/python3.6/site-packages/oslo_utils/tests/fake/v2/__pycache__//usr/share/doc/packages//usr/share/doc/packages/python3-oslo.utils/-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:39639/SUSE_SLE-15-SP2_Update/b8cb2b248e48fd0d122e6acf73bfa8b9-python-oslo.utils.SUSE_SLE-15-SP2_Updatedrpmxz5noarch-suse-linux directoryASCII textASCII text, with no line terminatorsemptypython 3.6 byte-compiledPython script, ASCII text executableGNU gettext message catalogue, UTF-8 Unicode textGNU gettext message catalogue, ASCII textPython script, UTF-8 Unicode text executable  !"#$%&'()*+,-./0123456789:;<=>?@ABCDEFGHIJKLMNOPQRSTUVWXYZ[\]^_`abcdefghijklmnopqrstuvwxyz{|}RRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRJ TG޸r{*utf-81279a405c6adace042552a4645293cc23ec4f8cca20f389a115b27bd36f2c00b? 7zXZ !t/# ]"k%%) `>C|78R XTii[ЕTJo)]ZTT24Ea~3worStȯpl@rKNЦX-\zi(s\54OcdI}7/-yx:_bU|QѸ3^jpsK5U`w*d)bX,b}7!+Ta=Y6A (I% .+Vېjҽ9J௎ $A`Kuv"U$_CF/FU2hJ+Ftג-M\ Cgo$֢P5 ,.wᛷr|ALUyOe60&^Y0KCJBrO EpQ,!Vvk7R1 gRx;1hWJz(V}C&y++8)x@P9F`>L|~216yb `Lc !KބuM|l03y+^ "~k!Qt]7!CA<4"NCP2Gg6;HgWB9aLM Wa?NPUafg`)ԘJ J阜X}ZI;Ae%OhV4S- {@'&qhs퉂:rAl2PLT! zY:z; #Q ZLm҃bTĎ!())-A'C**gʾs19 k!som̌>J457;rhNϬ` \X|R;X8;Ho.`_?-8\20/|x,7$Dc:IQ/5ٮ.mqORvw/?a:n|fE"{P A5@tfBյ䇉F[vM|5)H\c4!޺,6D`O TtZoe @*)N;qk{$A[ͺjݒda F+^ ڵ*8Wl^Iс/9(8p1VwC//ePAD[5xkq[FH H@8a+<>"3X[ԩ6An` Bo:([(gӶh64̥ޠ }xC@O۬9Ofyy*pRU:~W3!|l¤ uv#yR8u! f/sCZLvB_8Ь“/'7-ܔ畟L ʁ;(˃R8&ڹUuٶ Ro;#h w5B] p2zM̏ȷԗ6|0QC1oqìգ2)~-tpQR4Uij.k><On)L eh~ok80cxm;*) I}, B;1Fˎ}PC t,KP8B%j3vL&˔pkcAM#cXUF/)a~ N̐O6^vFK>#OQT0;g![#[fT $8G>*O݁.Fq:JWYL=dcqu=(` Azu|Hb1B 🞐eۑos&{' n:!7-!4b"iB@$;B5y.VУ+c P C^q, 0"d`z׊@553\#z"\dSL#+z T7fB68>iW|R7kTz[>|^|zq `VHEI5-DV;&#J:wR(bj"lK(]TK>$.YZoCPy\)-(D C) )B˛Ch`Df+Б͒D<a=+L ŭmX1;lx[lD& dºrE(z|̾_L*;d|Hg`1gI"rP,ˏώY:=]4ނ|2N2=~$ߦ|cC῕~ϩk=-KAtEZ<L{ շ'ܥJM* &ܪKɈTXNy,+B&n}2(9幥On#Uh ܜ5WG;'zTI#B_ |:֭i<w|ze V{$[0LwZge7hM7B5dp~@Ap~G3S;;9 sk %RuwE3®'#FtXXZKr‹3SH@l'"!.{'Dw ֥3& r-[2p;3Č&L Ag[lC'w y)$>Jr[jaHN+qnhВfUn :w#n(P ^T1p -Rj;ɛ81o%LV rr}Ua}! k^bCfH/&!pM&͇hLLGCT_cUG$H]va4v8LכOֳhvJW8͗kxZ |U!'&3c9z+$͹54l H!t+wjVԿfS٩O Ge_ YZ