python311-Sphinx-7.2.6-150400.3.10.1<>,f=p9|e|a-EחHKx* {0hnpؤaj F?{tq]k Ũdd"T ML\umEu5^ y4qëī^ÈPsJty卺VÆ $`ghsیCd}G(/ 1$S 6[5 KҎѽi v0rP5F0-i{X5ëT\Ք+`_S?t,dxb>Et?dd ' F *7 Mjhdh 4h (h 9h Lh "4h3hIh_`hqqr4t(u)8u09w,:>ѧ@ѯFѷGhHlhI hXY\h] h^QKbcdeflu,hv,wPhxhyÐz˰ `Cpython311-Sphinx7.2.6150400.3.10.1Python documentation generatorSphinx is a tool that facilitates creating documentation for Python projects (or other documents consisting of multiple reStructuredText sources). It was originally created for the Python documentation, and supports Python project documentation well, but C/C++ is likewise supported. Sphinx uses reStructuredText as its markup language. Sphinx draws from the parsing and translating suite, the Docutils.f=h04-ch1b SUSE Linux Enterprise 15SUSE LLC BSD-2-Clausehttps://www.suse.com/Development/Languages/Pythonhttp://sphinx-doc.orglinuxnoarch# python311_install_alternative: update-alternatives --quiet --install /usr/bin/sphinx-apidoc sphinx-apidoc /usr/bin/sphinx-apidoc-3.11 311 \ --slave /usr/bin/sphinx-autogen sphinx-autogen /usr/bin/sphinx-autogen-3.11 \ --slave /usr/bin/sphinx-build sphinx-build /usr/bin/sphinx-build-3.11 \ --slave /usr/bin/sphinx-quickstart sphinx-quickstart /usr/bin/sphinx-quickstart-3.11 :# python311_uninstall_alternative: if [ ! -e "/usr/bin/sphinx-apidoc-3.11" ]; then update-alternatives --quiet --remove "sphinx-apidoc" "/usr/bin/sphinx-apidoc-3.11" fi # ?:Q<}} < {n{n  MM i i(`(`....,,ttWW77mmKji>//,8,8 EEEEOOSS,,<*<*{{q",+yZ\k#-#- ^YYll ] ]bR1_e&) ,RLRL))6v]YC:GRGRc[c[R R ()6G@<N\N&#n#n&F&F]zq)ii##i2iCEEFZR1r~K{)Bz??"&&UUIO "" e HH c>T F9llKK``yy!! _ _iXij==[[]]B w !F!F9;9;GGN..1R1r!$!$::,h,h$J$Jll+r+rw1oT yv%%kj)/DwZ LD $<=DqFLvLvy5 +r+D+D FUHYX&If Q WKuST S6Pe /Y )X~I "6:I I .'F´I HJ;<  &"I3}U iQ^z `LBDK 2+I<lPOz;I%@a#*Y lR 6K '4W]N!KAm R ueP oK $dPAO!HX HfQpx9 / I1{>>>:nT -W>Va .. F F  ""RR ,2j }y$ 3i-3=# "' g# ^N,L'S&`DDqOh^aFLov.7< {6Ouk+`:A l~Q cc/)/)..hh&, $ dd r) ;FxEZZI,sN(mi:\o c0lhR*G%mkrGMe1f}b q{|/aqkxM/i:EMsmsmddpTpT   f1HDD""@@(Q'CClplpQR12S2Suupp((}} ||22!! 7Y$$++NNh  ?AA큤A큤A큤A큤A큤A큤A큤A큤A큤A큤A큤A큤A큤A큤A큤A큤A큤A큤A큤A큤A큤A큤A큤A큤A큤A큤AA큤A큤A큤AA큤A큤AA큤AA큤AA큤AA큤AA큤AA큤AA큤AA큤AA큤AA큤AA큤AA큤AA큤AA큤AA큤AA큤AA큤AA큤AA큤AA큤AA큤AA큤AA큤AA큤AA큤AA큤AA큤AA큤AA큤AA큤AA큤AA큤AA큤AA큤AA큤AA큤AA큤AA큤AA큤AA큤AA큤AA큤AA큤AA큤AA큤AA큤AA큤AA큤AA큤AA큤AA큤AA큤AA큤AA큤AA큤AA큤AA큤AA큤AA큤AA큤AA큤AA큤AA큤AA큤AA큤AAA큤A큤A큤A큤A큤A큤A큤A큤AA큤A큤A큤A큤A큤A큤A큤A큤A큤A큤A큤A큤AA큤A큤AA큤A큤A큤A큤A큤A큤AA큤A큤A큤A큤A큤AA큤A큤A큤A큤A큤AA큤A큤AA큤AA큤A큤A큤A큤A큤A큤A큤A큤A큤AA큤A큤f7f7f7f7f7f7f7f7f7f7f7f7f7f7f7f7f7f7f7f7f7f6f6f7f7f7f7f7f7f7f7f7f7f7f7f7f7f7f7f7f7f7f7f7f7f7f7f7f7f7f7f7f7f7f7f7f7f7f7f7f7f7f6f6f7f6f7f7f7f7f7f7f7f7f7f7f7f7f7f7f7f7f7f7f7f7f7f7f7f7f7f7f7f6f6f6f6f6f6f7f6f7f7f7f7f7f7f7f6f6f7f6f7f7f7f7f7f7f7f7f7f7f7f7f7f6f6f6f6f6f6f6f6f6f6f6f7f6f7f7f7f7f7f7f7f7f7f6f6f6f6f6f7f6f7f7f7f7f7f7f7f7f7f6f6f6f7f6f7f7f7f7f7f7f7f7f7f7f7f7f7f7f7f7f7f7f7f7f7f7f7f6f6f6f6f6f6f6f6f6f6f7f6f7f7f7f7f6f7f7f7f7f7f7f7f7f7f6f6f6f7f6f7f7f7f7f7f7f7f7f7f7f7f7f7f6f6f6f6f6f6f6f7f6f7f7f7f7f7f7f7f7f7f7f7f7f7f7f7f7f7f7f7f7f7f7f7f7f7f7f7f7f7f7f7f7f7f7f7f7f7f6f7f6f7f7f7f7f7f7f7f7f7f7f7f7f7f7f7f6f6f6f6f6f6f6f7f6f7f7f7f7f7f6f6f6f6f6f6f6f6f6f6f6f6f6f6f6f6f6f6f6f7f6f7f7f7f7f7f6f6f6f6f6f6f6f7f6f6f6f7f7f7f6f6f6f6f6f6f6f6f6f6f6f6f6f6f6f6f6f6f6f6f6f6f6f6f6f6f6f6f6f6f6f6f6f6f6f6f6f6f6f6f6f6f6f6f6f6f6f6f6f6f6f6f6f6f6f6f6f6f6f6f6f6f6f6f6f6f6f6f6f6f6f6f6f6f6f6f6f6f6f6f6f6f6f6f6f6f6f6f6f6f6f6f6f6f6f6f6f6f6f6f6f6f6f6f6f6f6f6f6f6f6f6f6f6f6f6f6f6f6f6f6f6f6f6f6f6f6f6f6f6f6f6f6f6f6f6f6f6f6f6f6f6f6f6f6f6f6f6f6f6f6f6f6f6f6f6f6f6f6f6f6f6f6f6f6f6f6f6f6f6f6f6f6f6f6f6f6f6f6f6f6f6f6f6f6f6f6f6f6f6f6f6f6f6f6f6f6f6f6f6f6f6f6f6f6f6f6f6f6f6f6f6f6f6f6f6f6f6f6f6f6f6f6f6f6f6f6f6f6f6f6f6f6f6f6f6f6f6f6f6f6f6f6f6f6f6f6f6f6f6f6f6f6f6f6f6f6f6f6f6f6f6f6f6f6f6f6f6f6f6f6f6f6f6f6f6f6f6f6f6f6f6f6f6f6f6f6f6f6f6f6f6f6f6f6f6f6f6f6f6f6f6f6f6f6f6f6f6f6f6f6f6f6f6f6f6f6f6f6f6f6f6f6f6f6f6f6f6f6f6f6f6f6f6f6f6f6f6f6f7f6f7f7f7f7f7f7f7f6f6f6f6f6f7f6f7f7f7f7f7f7f7f7f7f7f7f7f7f7f7f7f7f7f7f7f7f7f7f7f7f7f7f7f7f7f7f7f7f7f7f7f7f6f6f6f6f6f6f6f6f6f6f6f6f6f6f6f6f6f6f6f6f6f6f6f6f6f6f6f6f6f6f6f6f6f6f6f6f6f6f6f6f6f6f6f6f6f6f6f6f6f6f6f6f6f6f6f6f6f6f6f6f6f6f6f6f6f6f6f6f6f6f6f6f6f6f6f6f6f6f6f6f6f6f6f6f6f6f6f6f7f6f7f7f7f7f7f7f7f7f7f7f7f6f6f6f6f7f7f7f7f7f7f7f7f7f7f7f7f7f7f7f7f7f7f7f7f7f7f7f7f7f7f7f7f7f7f7f7f7f7f7f7f7f7f7f7f7f7f7f7f7f7f7f7f7f7f7f7f7f7f7f7f7f7f7f7f7f7f7f7f7f7f7f7f7f7f7f7f7f7f7f7f7f7f7f7f7f7f7f7f7f7f7f7f7f7f7f7f7f7f7f7f7f7f7f7f7f7f7f7f7f7f7f7f7f7f7f7f7f7f7f7f7f7f7f7f7f7f7f7f7f7f6f7f7f7f7f7f7f7f7f7f7f7f7f7f7f7f7f7f7f7f7f7f7f7f7f7f7f7f7f7f7f7f7f7f7f7f7f7f7f7f7f7f7f7f7f7f7f7f7f7f7f7f7f7f7f7f7f7f7f7f7f7f7f7f7f7f7f7f7f7f7f7f7f7f7f7f7f7f7f7f7f7f7f7f7f7f7f7f7f7f7f7f7f7f7f7f7f7f7f7f7f7f7f7f7f7f7f7f7f7f7f7f7f7f7f7f7f7f6f7f7f7f7f7f7f7f7f7f7f7f7f7f7f7f7f7f7f7f7f7f7f7f7f7f7f7f8eAeAeAf8eAae90cbe7168198d447951b65dc8496c84129b33be791ee31b156d7d0f3daf678bab39e34c07695ef3e5c22cf16034a8836da1b2ab8bc1c6b0bb82f6e1790ea434234272559127045745f125f574c4797d8d52a1874fc3ffd9dc5bbbe0401876ea085fdbf4fc461465398971144fc5dd0e041d1b048b19e5d3a510968741f990fceebae7b8927a3227e5303cf5e0f1f7b34bb542ad7250ac03fbcde36ec2f1508ff1bda7a7df4aea4723ccf02f678f0724c831a32cadf779b9fb4f12110d5bebb85596f7d0ca21e6568150ccf89d951ec62e546fb3a2ccee4478a3441e6e23343ab773732be9e11ef56f9ee5ec6f4a8eada2d0f82617fd2f8058a59ff10e2d185e3b0c44298fc1c149afbf4c8996fb92427ae41e4649b934ca495991b7852b855ad282afc9a4717d7c7475971e77ab083fd7ed8bca9644fea99cb976d552af78f294fdcf63a978fbcb2672952cf5d574485c6de001902941ad1de4399c7f203b359118305706b461f81713d66f87e96da7b0f3fd8ae6e752b4743be96d8339632c0889fc179591dd8b882d426909e8a17406c7e5bc3f68d167799c045374973c02f149c3c150ee6c151c3f77586f9136ff83621961e16fc1c1ae9029a8e97e8892f149c3c150ee6c151c3f77586f9136ff83621961e16fc1c1ae9029a8e97e889cd4b1db3d06dd5f7860c005a8bd0b9d601f8c4fb5cd792ced4f1028655cc40b3cd4b1db3d06dd5f7860c005a8bd0b9d601f8c4fb5cd792ced4f1028655cc40b3affaceceb78071ed55fa9b9cf936e8405ed50113cba32b53817924a8362c0484affaceceb78071ed55fa9b9cf936e8405ed50113cba32b53817924a8362c0484659197a3fd8748c9c6507d21005a761672b745cff8dc5777376ddb66aeac8640fd88e6c681b0787fd5a78a55d71f847ec1f710f786c5036bb0cdc92e8794ebd3bd0135ac6428b47534b7983aecaf535324a5f48c7a8c95f5ca34e5ff104c99cdbd0135ac6428b47534b7983aecaf535324a5f48c7a8c95f5ca34e5ff104c99cd7ed45fd1a0749e968a2f5113abda6b3a6690d5dcec5562e47883b3a106202a607ed45fd1a0749e968a2f5113abda6b3a6690d5dcec5562e47883b3a106202a602a79b1e7f656c555eb20dd9ebac9c7042af5895b358b536e5b48e3c3282a1e172a79b1e7f656c555eb20dd9ebac9c7042af5895b358b536e5b48e3c3282a1e1713e58c2d5ece7bc3f398b27d6a8964ebb0dbac873bf7a38bd03a96ecefdce02513e58c2d5ece7bc3f398b27d6a8964ebb0dbac873bf7a38bd03a96ecefdce025bbbad0e990edd5cedf7437dbb401ec570a1596ba8e3915c403afcdda8066e4e4bbbad0e990edd5cedf7437dbb401ec570a1596ba8e3915c403afcdda8066e4e4dbb21dd6d6a489c7f7051b76b06e4deff44113714ce04fc5fb248bfdc9a959efdbb21dd6d6a489c7f7051b76b06e4deff44113714ce04fc5fb248bfdc9a959eff24d299be487d6d44698d9db269aa7c43648bd75896a9e332be5119c090f123ff24d299be487d6d44698d9db269aa7c43648bd75896a9e332be5119c090f123f5a682fb867d6335091d1dee1de8acecfd6fe03e0eb7cc54e65906cd1f45d2dc15a682fb867d6335091d1dee1de8acecfd6fe03e0eb7cc54e65906cd1f45d2dc14b9368f595bd3469bfb4e6d2ab8bd59c6e4ab503c8c7126141b1074cdec613064b9368f595bd3469bfb4e6d2ab8bd59c6e4ab503c8c7126141b1074cdec61306089f493191d6b25883fb43fc745379521113d6317d8307970071c4a51504967b089f493191d6b25883fb43fc745379521113d6317d8307970071c4a51504967b11416c7e1d66e5a15ebc57472a306cbb3bea19ebf8986acfd63c9a64b4995d1211416c7e1d66e5a15ebc57472a306cbb3bea19ebf8986acfd63c9a64b4995d121d31ef1d511e7a487aa7b5c6181352234ba8478119f5995673d00ad870e901681d31ef1d511e7a487aa7b5c6181352234ba8478119f5995673d00ad870e901689cc8994edfacd04028b4bf3afb65363b47389549913ef42e1e8dcb62bfe9fc7d9cc8994edfacd04028b4bf3afb65363b47389549913ef42e1e8dcb62bfe9fc7d08d0baafa787d090f123cf32624936958b86b20fec680b3159d84d35880be9bc08d0baafa787d090f123cf32624936958b86b20fec680b3159d84d35880be9bcab626fa4aa4fe4f72b9c6fabb0179e7ea79ff02b9a28fbf73ddbf9df78efef98ab626fa4aa4fe4f72b9c6fabb0179e7ea79ff02b9a28fbf73ddbf9df78efef9873f8ab879b9fe19981b78d9ea6fef121b109ffaccb7a9b4c14675d82b34ba665140dd340ffa921fd3213ce32dabfab676c1864439375932da66dcf7e767ed4c205b3c01414c4d2a034386f1fa830bcada778115f26ddd50daf75c70f0711aa3571b6e4dbfbe681ab1387c2367562befcd63ce5161d965df0ebb8a512bf967e1671b6e4dbfbe681ab1387c2367562befcd63ce5161d965df0ebb8a512bf967e166ae87773f923f4ea9fbc365d2fa7a397e9fa788787c93200315d9ee331b32ec26ae87773f923f4ea9fbc365d2fa7a397e9fa788787c93200315d9ee331b32ec2464cdde223ef971a4e8cd6fff323f877e76d61db2004a32980fbb7b5db92a255464cdde223ef971a4e8cd6fff323f877e76d61db2004a32980fbb7b5db92a2554388dbde78b371cb9f96ceb7cc37db35b601fe66694d463e81c1222e4cf036d44388dbde78b371cb9f96ceb7cc37db35b601fe66694d463e81c1222e4cf036d44b8f63e8c875763cc742d30330456d301e4fb83b22414727938abbf9dd6ea1d24b8f63e8c875763cc742d30330456d301e4fb83b22414727938abbf9dd6ea1d21b513dab36e05514ca1de0b62465165e1f126c14ffce1c6e4b8eb31ab14201de1b513dab36e05514ca1de0b62465165e1f126c14ffce1c6e4b8eb31ab14201defbff19afe596fdf93b198c00b1901db6eedf990857ee6fc762e37921d2e444a8fbff19afe596fdf93b198c00b1901db6eedf990857ee6fc762e37921d2e444a84aa03b761e8fe6ae383b5c737c30903a6fc0fc485714da076bec3cc37b8fc6f04aa03b761e8fe6ae383b5c737c30903a6fc0fc485714da076bec3cc37b8fc6f05a7250bfe5f7bb85c3202231bdcf95788e404e63ed5795c81bedb6739f5f2a2d5a7250bfe5f7bb85c3202231bdcf95788e404e63ed5795c81bedb6739f5f2a2de22df772112b08b7098ac9e704fc5d4c245a8bf733c9decb38d218cb4130a96ae22df772112b08b7098ac9e704fc5d4c245a8bf733c9decb38d218cb4130a96a0e99a1ea4a05287f9980b2f296c1d52da312d66549a4abf719399bd6193f776a0e99a1ea4a05287f9980b2f296c1d52da312d66549a4abf719399bd6193f776a5b2e5fdc3c3944db2dbae1685f3fb903f276e40f8d7501630a49a936f645c21c5b2e5fdc3c3944db2dbae1685f3fb903f276e40f8d7501630a49a936f645c21c2771f7b5762f1c473d241c519bea300c20992a872252863387defd07a77348cf2771f7b5762f1c473d241c519bea300c20992a872252863387defd07a77348cf29a9bfa165c41e34611d663b0d5fdae789386f8bf073ac04061b9cf2d9d59338a33202f44eb24a1ef166a4b25a566a7ab46c9e4069e4d2c33a3c4ceb737dbe76b84d064fe5cf42593056303c6e983ea3e1b02879e9f8218704d5325444869f9fe2393b20730e0836b062f09d63c5aabc28353a7949a2466a0cfa99e0bddbc9d78b655e6b861edffea7105f4fd186f6d4f58284e6cebdc09e100f358e2ab4be8140e35bdd1062abc27f13b3442e85aca4f118373649d77759c02bb0b014c4af2e9ea374150fc3bf02ad8e7db178929d9515832fceca3f6e57a42295bf37069e01d90cfdeed4bd97dd2e57a3e0853cc830b5d3c84e6ae1ff376073e550ded0d16efa837f1794c90f7380754c80813c5c5b6f3aa750990a5d40f9720d2c8ffd545072eae2c869ac97639510cdb998dec35ec0efe87a942f4d597706bf293ee8cb4672eae2c869ac97639510cdb998dec35ec0efe87a942f4d597706bf293ee8cb4697b17a41608dc457223c6ef308f2961b276710b7ab221b22a7dedb78ffcaf9bc97b17a41608dc457223c6ef308f2961b276710b7ab221b22a7dedb78ffcaf9bcef929ef2225324cb8139a098b3691591ddc9d60aae52e806e154bb4b743ae889584cce4843e3ec429667398b87a75b6398979f3ffaf7e50f5c4c2e56f14eb40dae08db05fa583f4b4e2186badf9b05805a5f78a2a29467f016b0174421a3ba98df26643bbff340812a4699fb97fc44185b6f57aa31791d5b3beb36dc993572f6df26643bbff340812a4699fb97fc44185b6f57aa31791d5b3beb36dc993572f698f4ec54e6f5309c6a79f5e911458b2e640e8932b2ff6d255b72892d96b935e398f4ec54e6f5309c6a79f5e911458b2e640e8932b2ff6d255b72892d96b935e35ff8f78e6949f0546e5c454e44c1d6c9a0e901c9de163c80a32f53ad7012abd95ff8f78e6949f0546e5c454e44c1d6c9a0e901c9de163c80a32f53ad7012abd9e1ea4fee2a58d329d0bbc2447b3042d46058828dcb242a1b57e9882bfdfaeddee1ea4fee2a58d329d0bbc2447b3042d46058828dcb242a1b57e9882bfdfaedde15b73ab23187368c1c4a48d37653bfcca492bc8189d5f5bd6b29c12002a5f97615b73ab23187368c1c4a48d37653bfcca492bc8189d5f5bd6b29c12002a5f976a09858e2b6f7e6fc0828e962126d2e0d4d3948b6c3bd72a88c4bb633144f64caa09858e2b6f7e6fc0828e962126d2e0d4d3948b6c3bd72a88c4bb633144f64ca1bc770cc4f6e2e2c5324a98b6a31787151bf298f2c8e1b73a0be8d07e763471f90cf8e3178d37eae838e8849e6a9e2ccb84e2e8c7846e582d212da6b194fcc251ba649588d778a7aa55e59ed8878927ea6092a4e58079c028653221b156ac234bdca6e7c3bad178d6c0f38e334850cf9328c3542a630012e1282ffa3e045c6a0e160d9976f07fdd6f424432abd4c232316201fd9f69ca51b786d464381df07d53affaa403aa0b894ff6bd500213ebc14f1eefc1dbb70a7f68d0f354e8b066ace62c2db481030305e719b8d7e0cd8a3d7893299178a2fb000315a13d432fe32c3dde2b8b0ba0adbb518d033893dc080811baacd262102f7252ff01b0d7c852d50dc65a2e189f280d6174325364da848ad40a6df11296b269e74f8ac695023be79e7b601a654bc5b2fd0f30601e45be5b902753305110f518f44a5a84b45a869839bedb887fb7f6a6be5a03f07c701b33bc9793343b61e5ac811ae9aa355aef8985f95c8d25935f9531e04ce9f8c22d873e6bfd3de3077d2b23922888e95f081ee238f7dcfbdc425dd7c9f12d4208a5aa010c18ad0e63f958ecb7742318e853f0d238f7dcfbdc425dd7c9f12d4208a5aa010c18ad0e63f958ecb7742318e853f0d33ca62387e2f974a8107724177b2453792eee543a1db85e70d6982105ca19d6733ca62387e2f974a8107724177b2453792eee543a1db85e70d6982105ca19d6715de060b89500561df0760bca8326952fbc906a47740b844a45ade0be93d79e815de060b89500561df0760bca8326952fbc906a47740b844a45ade0be93d79e8ac59223956dec8ad57471dfa23907c2f3964630bd6ad3a0c94519c5af7eac359ac59223956dec8ad57471dfa23907c2f3964630bd6ad3a0c94519c5af7eac359f4756c0aa659d1e8b5ff10cb675b5cb9bcaa12f1145572c7b6ab013969c3403a0da1813e27851188ac2898d24fe860d8f523967f8c9886d5f7ed916694bac1bb924f5ad425c3c9cdaa234c27126aba056b80ce9529c1263aa84d95389c4e24e5142ce112f081f308b8d77d842d21d41af9aead7d63d27b5b2ce33ff6cd67fc0adb96a8f513b37a2c47d8cd5127e565cb68bcb93c395c6e634cad787cfc8077b7d18508ca0b0c85ebfcfcad0212ff1c1a2457e922ff799038415b47205bc7067130eebfe9300e78f6b1e1c26a9df3fd0d7b3df0bdb7565157f4db1dec8dcf809c30eebfe9300e78f6b1e1c26a9df3fd0d7b3df0bdb7565157f4db1dec8dcf809cb39b2403289c9192023c2743b68069647b22c4ef6c9ff220a0da4930b5b2fa6bb39b2403289c9192023c2743b68069647b22c4ef6c9ff220a0da4930b5b2fa6bd09cab5baaa9609a6bd90258d303cf17a97e99ab003989011bbd90ddd5dd0e69d09cab5baaa9609a6bd90258d303cf17a97e99ab003989011bbd90ddd5dd0e69dc708500231a4c16b4e3f0be30604ff29761f55b1d90ea4b4d697da1439d9ee6ef855c6057a76b83f0701f87be202758e6bbad58bf813f19f8ff81a259dd6f33ae2fddce190bdf442157d79832f5237ce714d65b90599ec3d2a625b7236dee7ea8c14bd6eaaa4bc2f6e50611b799e1ab35c66394c2e4de49a4be1c9a8a8f3253f1ae102d6a80e463b6d4a7e68a4d6aa3645e630b5fabcb771a73c92108fca73f5e01900967c04d081376f105486f4dae737d6f984d36af049b4a07d4475ce3862598554093b49c5220640d505243f62a597ed3e36eb31b73b55395f0341b586cb2ce358c63ce8149cbb11f064b2696ff004251d086225de979dd4caf0c60ec5d3361643696222e7e0b096c257bfac4f01af7b61ebfe4599125280af756c3c8f800501d251f30ffad354068e1263644f9b16c24f6c25ba22a8fb78f45f61dfa0130d13aceff1a0639af597a8172d8d9cbc52e5b4a8af4c8bfdc77c38c7df7a88030d13aceff1a0639af597a8172d8d9cbc52e5b4a8af4c8bfdc77c38c7df7a88099d12981451f7afc7ab714c8d482353b82aadfb2366ea1fda41564188bca228199d12981451f7afc7ab714c8d482353b82aadfb2366ea1fda41564188bca2281dd8b89374777f265e183f528ddc7ffcad76cd415b33038529d8b67917979ae8ec4a0288c96a19d5ac4034bf3fff498d403f1ba40fa0765525ba0aa0e2dc9b84ad2f996d5ed78c862c6d7634e80531d24b64e2a77f7b6dd099392cb8797dedf6bd2f996d5ed78c862c6d7634e80531d24b64e2a77f7b6dd099392cb8797dedf6b9d1f4b6008c2600798849847bc98b872bec06b55f180640ff1d72a0bb6c2b3a69d1f4b6008c2600798849847bc98b872bec06b55f180640ff1d72a0bb6c2b3a6156c8aa5a82b2e5f3bfdc5198fcf906b4132f038a01fe3688338f19f3c2ba2b60091cb005be16fdef46d5c119a59e289301dcd078b93b9884e88c4566b2deae3bfc6e00272aca3c536b35fb010eaef3e2abff3d353b7ef25697ae308c3c8a371bb88d5d7f816cdc24920e2d8837b0911fa8e990b0cf9bdba9f6cfdbd5cf6e87e2b10fdcf6f4aea8e2a905bd4a114375521e4e95b4bd4d7a7cba6dd810efd362b2b10fdcf6f4aea8e2a905bd4a114375521e4e95b4bd4d7a7cba6dd810efd362b095762db2bd34f17cedfa8a853f21f838b2b4bfa7b89f03330235db0963fa9ea0366fd9ad72a403801c54df7228fe32447d5d3f882f88c9c5dafc2831cdf8695c67ad75f56b686afe4c889ee3f723e8ecd570c4593d9af32b995fe98390f83589e1dcef595e03c1165d7a7edb581dae73fd192664c7192a9eccc1af79297ea310828bbe20392c3433f1ad90b3a3db35ea300a6e7b9a375b5012b2185fef5aad8bfc2ac7aa3709aa94c428646511e34340a65531a9e335c5c318a568e817f8da419c8dbb258f071fc94957c52e1ca05794a0e54682246711c6f376993a6438d56a1482610b4750ffafc4ec37792d8831632bd144ecec8d052e82b39bd54bd0acea4b4f657c969f9ab6b98d7bccc5b7d541577f3783a7be7d9cb4d52e621d37e297b9b83fd23f8b31450c9eb54c044d8b93c3bf7ae960d27143951ea1557f470bdfce3c51f98348f65af1e2c0ee24a6ef284978cb113d1249e7433a247aecb96c3a7d5abae3b09d8502b53ca644b3e06861c5c8c7cd55637e046880b018da4d75a87f305bc2a3828cf9dd1e9546c9656c73dd4b135e354b56abccea04eed61259d8f791fdfb87775a8424ee4c5945a400e5a306dfbf2ef056dff7b9f5d53dcf6608f791fdfb87775a8424ee4c5945a400e5a306dfbf2ef056dff7b9f5d53dcf6605670e8b56d946f18d67952139b3ee24ec56bcea41cbe62c7af77ae2aaa8a1f0abf1d1349a35a48d374bd48c5d73477fb701511757588a6d94c36d883cb24101fbf1d1349a35a48d374bd48c5d73477fb701511757588a6d94c36d883cb24101fcacc3e3a5fb9ba243108313f2de7d9c6cdfee83cd7346dda0555c028a1145cb6cacc3e3a5fb9ba243108313f2de7d9c6cdfee83cd7346dda0555c028a1145cb61bbbebdb209f2c121756fce51858f0e9e4b9bcb5d39c76d225dc6a2f239d79f81bbbebdb209f2c121756fce51858f0e9e4b9bcb5d39c76d225dc6a2f239d79f87605714c65290e3b9d6cda04654fe93cb72042698280d04b3e0dab374e73d1917605714c65290e3b9d6cda04654fe93cb72042698280d04b3e0dab374e73d19186e18758c45e33cd1c0fd6fcf2d8507aabc9646dc6e810a71bf0d8dae219b74439ead61602218001566e0eeace3d1f5ecebfe9fad15f8f01b7baea44f92f6973fcaedfba24a255a38684dbc999a96cf997cfd50d133ce70e96a67c0c10d95619b243e0e6c7321eff65c31524c7e3b672f67becd681f1c6c7fc6836ffac5219970e00074b201d4bdbc89a28396c3f1d20a5c096eb4f55d57938ffb93eeeb56ee5064180459e477da9d646aa4fdd29345efd3d05e03eba77b418c9d2933081a30e698f9fd96cb4f5efccfe98c477835c57575ae2ff500b9dd600ab5eaaaa0719ec698f9fd96cb4f5efccfe98c477835c57575ae2ff500b9dd600ab5eaaaa0719ecad6dcabb9873462660d64f7e24ba355dc5786ea7cdf62f8d38b27b9fd157c950ad6dcabb9873462660d64f7e24ba355dc5786ea7cdf62f8d38b27b9fd157c9501190f0124583a23d07279cd55ca5cfe83e6a30e6a1cedcab9693a359f1363e19eb0dc3ae41f34dbed30f4e60017fbbccbe38160f6a13c2ae0595419e7a2892fe7b057edae196d2affd35bb12bacfba1ddb5ca6a1b130150b4027ce5666e15c497b057edae196d2affd35bb12bacfba1ddb5ca6a1b130150b4027ce5666e15c49de0247a7c0723c93beee9c0d75b95fc52ff72715271c6153f6f3e263f2652245de0247a7c0723c93beee9c0d75b95fc52ff72715271c6153f6f3e263f2652245a2dc2c4d4ba1c98822a561e30b7d66b51dc5361a6b4b447e02d96b056bbc6093b7e69a4fd16b7aa76652087c7530994124362a5fe442b917d73bb5f333abaefa37908c9c2808212035089d569bf3799dda97e7dd259a54c41ede9573539ae4d7820cfbe4f3b7311925cd0fa5020a0e107bddefe34748b63643d4d9daf2352c6bfc05747bd045c1cfed04308de14b761d7ae58677bdcd5337439e62f34064d42933fee653bb599fe22e35c9b6e79a2f32e2530cdc6eb76749f92ce75b038e83a0dab12be07a667b86d381abda6c09ade7ccf16ac2f1bda0ce11aa210e303997b079383329ac93741b60bce73af93b60ca1b081222a2c688c83671386dffddc9969dac3991553b44fa7dd4eedd1fbbe3bfda6f01e7dd0bb9f340361a50d5bc253b9dac3991553b44fa7dd4eedd1fbbe3bfda6f01e7dd0bb9f340361a50d5bc253b2a7b198bc6c2e7cb81fad6c832261d441b4f87a2c46b97aa00484d2acb1bfb3e8a2b7a14eb5af85fae21f725d7c8922897a456c3ea553cd31636de0cac9526910e4c2d7d2b1fe2424cbb41ec49ceabd5ba19b552784ec48d347291e199e170140e4c2d7d2b1fe2424cbb41ec49ceabd5ba19b552784ec48d347291e199e1701454f455bf1016d8265b4c2107c5d37b88b1887264cc19ad23bc28fe631bedf25954f455bf1016d8265b4c2107c5d37b88b1887264cc19ad23bc28fe631bedf259c5c7204230fb456ecc9288d2484257e806f2bb78ff4d8fd44fa15701c520b055c5c7204230fb456ecc9288d2484257e806f2bb78ff4d8fd44fa15701c520b0558d804e088d2e628cec8ba500c54cfb723302c1c5362d606c0d2959162125af478d804e088d2e628cec8ba500c54cfb723302c1c5362d606c0d2959162125af4751f2eafb5b55e4266a796ee7a66d6f2aea1b86b3da9a6ce604ab805aecbab36451f2eafb5b55e4266a796ee7a66d6f2aea1b86b3da9a6ce604ab805aecbab3647be604f2a2776ae7aeed96917e1528d2efd73a2f1d28e00039912360ca8456f87be604f2a2776ae7aeed96917e1528d2efd73a2f1d28e00039912360ca8456f85e3bccf066ac25f30b2bdf087e2c3deba184995d8a166a09ee6bc54e181ea6144fdcd50f0a16ee88ebedc40146ed7d957eb9b5e59b989ae68374fcbf98871396e45d24f8c939b90b72e4ca0262112566ec520c96810235535b65f5126a727211e45d24f8c939b90b72e4ca0262112566ec520c96810235535b65f5126a72721143a14f4d7699b59b8696a0c47318d11bd42873f12be4aa41a30df8b73c1c0e6843a14f4d7699b59b8696a0c47318d11bd42873f12be4aa41a30df8b73c1c0e6827d84b6010362e88888bbaa3b86753e477c67459bc66ee8c3407a6e2e13a6c5427d84b6010362e88888bbaa3b86753e477c67459bc66ee8c3407a6e2e13a6c543df18afcfb315d847795f9d910b465392b5ec33591d6b64031ee8afe1d60a0103df18afcfb315d847795f9d910b465392b5ec33591d6b64031ee8afe1d60a010468c5f33a219394789c4d697b5a39fc7e78333a9cb65d20a815c1f9e79b8023c6b5a2155bec23f533014ba10adc24df150a6d4352e640d2ffedf001bd6306bbf402f1ad37b67f11bdf79b4918c1db3b883c740d19ca3b354ce87eee684ff865eef2f16b163292ab4ca0d03eea4dff6559cef240698fe6afed6f80a4af87cd987ac3230599c62db963021414fd61919221b1104d1a433ebf72b89569438a44823ac3230599c62db963021414fd61919221b1104d1a433ebf72b89569438a44823af1157da144c21726221e4591700f4181cc1a417cba6e6b5119ccbe669e1ae3baf1157da144c21726221e4591700f4181cc1a417cba6e6b5119ccbe669e1ae3b35dbcfbfa8ee6b8f247adb2f3937d9e06da6660d035644a7dd28d950bbf6862735dbcfbfa8ee6b8f247adb2f3937d9e06da6660d035644a7dd28d950bbf68627f73c00ee56bda01a4e75a6790fb46d40b18c4970c1480547e2eb533c6a8b824ad90857ba5cc3ae25c54eeaf3aacae405de60b425b6330a0ad132c4928e7f09ff94e78e001027ea46ad988269418d4fde04a2fbf8d546a172bf02d62b88c9da6a25fee51735a70098824c9c1a33f0b5abca790331be2d52becca4b7d9556dea4d3485fd67f0fceea6249a0d1de0132f96d8af019f68abd70f2afd4b3b41e0abd33485fd67f0fceea6249a0d1de0132f96d8af019f68abd70f2afd4b3b41e0abd36d98e5ad99a62d3ff5291982ec85e9a1bc232e43b836ce8a86ffe29fe3eca2576d98e5ad99a62d3ff5291982ec85e9a1bc232e43b836ce8a86ffe29fe3eca257adb18202e20419044c801b6135c703d476e941b87815176f779a228c4392b609adb18202e20419044c801b6135c703d476e941b87815176f779a228c4392b60957ed841e091300b61480c37a10d184092e90bbc77fc3bbf2cb50c1f66d13c53457ed841e091300b61480c37a10d184092e90bbc77fc3bbf2cb50c1f66d13c534e91e31147b585a47a7555714678998e96daeaea9b4d72a82ecaa52a11cfb9a81e91e31147b585a47a7555714678998e96daeaea9b4d72a82ecaa52a11cfb9a81fc7fb852f12337b5db3de6332e732f8caece92029ed22dea62f6f3c3f061591efc7fb852f12337b5db3de6332e732f8caece92029ed22dea62f6f3c3f061591ed6af410deb2086c1a6cbeb11a83ad87bc82dc4ce5c3f9c9592cb5898b231398407e2cf79b4a00bb884893698931fc4d93a1951691b1faf188071c756e168061e233d13748edc56efede3e13479939e96dc5f37917d2c36c0026717645ce34146c2e1a67b490e9e88edc48306c5dd3c886b8be41fc4e334721bdd8b7b9f0394677f39fe47faf76c1217dfe51a3bf786cf94fdf591cd62f254214f7944dff147857f5cca2a271e9ba2b24b97f5f4d30b145ce9d8f179152ed81592b24cbb37e0566170c826318f2bbb6561bf9f2f88d70d8787a33bbd8de4a9d19a016e6854c77b6f99814eadc0a24787f78b95bf50e2c3acbe2b90895315a6662a5233e7eaab6f14890ae21acc764b00671971912661ac8b93f808f11e8eac87c24ad11a7cf211765ac6f069bfd6461dfdf1f97fd72f82164465edccf0dd75c2f316c4c7b05e0fedd8b689d529b93327cc0bc8f816c251997d236acc7682d1992b1a9f1b7ec221edd8b689d529b93327cc0bc8f816c251997d236acc7682d1992b1a9f1b7ec221d883b4adcf0056f5ac3d9a34c50ae5648261e972e8e1715a0e6ad6fdd54ec5d201f1bda1e0cc4ca06c05fda550aafe36894e795ec8993fc9aca1b72909041b31d6ebb84925fd29109e36572bec531167e0eb3ee5bb13ab50ed0642d5ab2700bdbc5d772a1f4c8979c0a2a7abf1259c2a363d4eeb529bb9c47147aba8400cb5da76a4575eea6d29e0b34066db606792a2c43eb4e52609110452e8fd833c93afea9da188022873097352d112714e8bc010b1be1553f09d766d3a3cfe6ea378cbb69496324d0c1681824f903a6f06c3affa574c4b372bea153cf1efa25db18b88eaabc4ff1eea8248fe6e95d4e7d49a72820ac441ca98c556ffd3b8ecb3895f3a0babfebdb689fed48e1d3dfbd19b433b41dc6f7c3fe6b8338c5caf2c34627d5a61a8fe90368bb3f9509b12d6b43c1690fb404901401fa7696793a08e4a4ec06eae522e77cd5b1160ef18af8e990922ef82eddaaadbd989aa56051e364941cf6b003fa7cffc5396634136f3b4bd373e5f52bd2668d42270d9dbd76f198961d32bfbb1076551475179d78706776e8eff9ea80b0ae78ff0d43fbb108edb5032e3c1509c0daf668418e9190c226bc47b4b6191c3393cdfcf6ad7953c48e0a9d45be59ca02e436d29f9c4a68828c3b1b75e25c4806a0e5e2368b492cd8fd05b9c15d17e8ba4d298af0e50e2801647baa61fdfb9042e311a2c9e3a80398125ef4946191305299e8ce1418d7dcd1145b960879944fc85cd6743d4bc3e388966b9109ebe22063156f89b43fa46ee5de7675b732cf25b464db02c6ece6001fa44087d66cd5965cf9b3440c6f71421d6e45c472cc8f603736706fd3276b2472c6685a45e832365cf9b3440c6f71421d6e45c472cc8f603736706fd3276b2472c6685a45e83236d2c9371fc71d72cb819801ffefa1d01ff11a2977b6bdb521d44a2cae9e71b826d2c9371fc71d72cb819801ffefa1d01ff11a2977b6bdb521d44a2cae9e71b8273501fdc73c3176260fb8be2405993d1161f7dedc8c51f30d26d3e584695187b63d3ebea54f5a829e6ff05e7098dfbb32691ca720a1275a6f25577cb4a318ef3070b54f7532afe2cab79c61a8fa48fa1873f49719951cede34050c1ab27d536a72702267e4c249d491b7b09294dbcacb10867748eaa1d41c8c5f001b780fda9211e649c10851dcf29eb22aadd2929f429c137dd50cbb6f24d5fa466d576a43b0befb40f007c15f7c10d99fe6da9ada767981acdf6840771608efea889ce6c5941d3301f8bdc100c777c7b641adfc65a8d10d41f1fcf1b463d8fddf43c57ae34b5a187131344de89b6fbf4bf8790757d34deef090ec0ad4fdfcb9f69f85fc781372f81a54b87fdb51cc58652c2e00f141215e92c87ae996caf8c0873bd3912fa96fea9e66b7c422fb8a189cfd8ac9feb5422ee28a60101e9fbd0f27df3236a64a6fea9e66b7c422fb8a189cfd8ac9feb5422ee28a60101e9fbd0f27df3236a64a9cfa2bfabb17dee8caad7ecee252134f3d7f1cbd332d27883e6cfb47c723c01342d19737f79d1a5f988f28b7652d84b6e677e1ba0de310c602f5dd26fab6efca2b9e1b928265c7b0164cce2e98e78022d37be0e7624cd0a5b873c288e5c0e6bcc41a85cb3432e78f56530b87b699cc4916541a388b6b817502a7d91cee5c73ae5f759640465dcc476d29bf9dbf62a6ca377ee2f0975092359d7c95f51e9ecc9e5644141ca1112f52d87e5b0498c61d75241723b095dc1b33d292ba1f0cf84fe7c68b0fcfa7c32021aa4747f88b9e655d9dfb654b98de494d3f781ba885c486f417b36900433e885f956be89dcb08d767c1ff9115286efa1ea9586b95863f06c57ea084c372c4bc9156afedcdeba9ed61560baa23f73c3fa090f3d79349c6f8623b2e6095aeb1f8b56729156111804dc2e58fd9db735b4a3a726c73943e40e464af5d97dc80400ae23cd9c8074cb61a073628bbddf2d91259539d425c687067ac4dbb42fe9186c0435deaa413e78c62548f0386771c8cfec6c58bf9212910314ffd725c127375e58b472654df72f4aebb1e08df5f9b479cf50bc4a49e483db08cda5d02360c098983635196cbbef95cc02816f4436a2d6cdeba0249a154601154139ca263bd7722a0c1996f647e750381c5dd40b6123cfc254329cf0bfac512eeefb734107971aa6ce759e4a544c91a16aec7fbc665b661ce4493a5df26b90fb20a9b499960f2f4083fa7ae3e268cd9dde58a35def41d89d1a0593f6841b2789974b9a7bf4a88078448ecf734fe104170df74a15a97a8ffb55fb0be1ad0d1aa7a15552eee462fb784b8c23e2b3486c0efd80d45a10bd07d1dfe41d34e0f0f2e18728564c654c78b11490a968e7ebc3f54c350c518784424e469632335fb6e868f2bc5eb3878d018926cb2c7b8640053633472f7c2fbc350881ec26c4c45192a9da08b8ce71118d0b400d2b57cd39e86e9a909c21f09e741efd93cb62c0cb1dd7fc1e394b11dfcc3b8ca51801dae274a2534c6e928e96b6e70e4fab707ea8c575fd454c208d821f26588a6cb65accad32ae36ddf6f22486a72c3ce8a514f5b4be3ad8ab12d923b1c9a52a14d1a7674ec4db28b717380af099a9beb2d7d50e8dce40de78a984c2c6421ad123dfa81608eea86be270a9f7cc86a154da78fddfd6bfcd060c78635718ea34c3efa032d39b2525660ac1285feae50327d1bd9c67376085681d6d21a0c554d00aacba8435970c23cea598bad8143a57d5974996f918c059611fa17dd6c1ad94eb84a9b3b052bd41828a94ce154c9ebb237fab69d9563771b37e87db953720877e9bd25aab2723f5f301dec9e17709c46fedc463a73902cb0462aa3245eeea75b5a2841d7a597450954d78a710dee871ed440f4d28c66da3cffd6d1878546be35efd719a27cc2d427ad67e432d3f90d3957531cde3e66f6d55d3ed2cf108f9211f4e0b4444dda735b5b1f3bd50bacf08bc4b8439bfcc66c4f4d708fcec2bbd060766d742c0c91e8f31a4358125dcdced14bca9d1e1e83170963e72ae65b2303c5e5ca6d19b0f582d9a69fea67a1da10e07f5dfc3c23c4257bdceaf23724332184638ae8d384be5eb27fe9235758d2f8ee200628c30e05648bafa0492e56325f208f0b1f0c1cb711dc2c9fea00e56bb3428c679257b4ead054b0680d88006fe407ea5bb8c4837b4bd8d2c922b88a636628ae8b7284913dc9f257dec92c3f48aa64da25ef83ae62889fa384f838423e1859e011969a6df28ce7ae0433be4ef5d21c697b6b585d4c37c66e7e75d8a92fa80a60387a87dd1ac373da5788ee058031f402da3e59dc2531d7a5978059fcc341c1f10c8d068831df5eebad93b6bc2c2b067a917908538fd29f6162e067f8320c2e2620e57e8169224f4f859f9d7213657313b1c3aace4ce305dcdd8f20aee671e6e81fe4fcb1bf066b9294362ce61d4f997ea28c8d20460e0e12f19347487cce06984d1a0165560bc0e2a46ad969efaf8c38721003f0a93263248be5594ced4679fc6cfc3467544864613d42d07215958968a0198138edf3275f6d2eed6150242e56938a20bac358d883e7483430624fed71b97a382237001058c33fccaa00b31e3367d002c2709a637155d6177a9d1806b3d437933c8fdac807b1f943438e1a0e6fc621481a5dafd642ba653a03daaef4b95dfaf14cc3caf3a4afb84cae49148800b66523c56570eea91613f795f69fa8c546f825c7b614edfff3e4dc80aec95d3aec4f8907e4f3ff598128891cd543e5bb923bc46f8a7b721842e0149e4623ecdadd5667de3a2c9a6a0a65ebda781e2f6a9a676f86ff87a2f92f0c24fd508967c59960c8ff030e71d3c1895ec170a67b31c778857feb1862b32260bfbc47d8e869add3d04d6e63d3e528419fcd0513387c47f0e8c824f99bb6964799ae8a5363085b908f1a6acd92c578baf4b992a353f945e59aeb0f1f1772aa7aba48c3ba57f4a7d294b59f9b1c6c9929b4b19dc919c162b0f648dcb7557a9938deb5f1145fce44a4eb157273048bbf641f63175349d71b379077fde703ef42a0783f1d971dae96a4fbf5fb29f78b819d51950d913c8c5c8048c2b5f6843c41c10ce64898c74e5a9641fd5c342b10ffeb63b6dd321a3a4d88496463abbd8df4901d2ba891d26d3451e7083255e7e64c37c9ca18809a78211789998d8a0a9d48af62f360c965400a50ee25351e583469bf3dda9792d82ce6e4aa8efeba786e877bc1dbb06fada243e856db556220f5136d81814010e2bea70c0c211b84e307a5010022e77b526c553844587bd64f681822843c0ee30d60dd481a77b085c40721fd54383f90c8d672f2419d1313d27e19123a1427180b0124e2ba763251f18557f054ff1047e258d556f3422cdfe5f6ec35e3e639aa42add281b9ccc63d6cd227d3d35c136547119e332568ca266c8cb3d901f527a2cba6dcccc80abbd9317a5b2146fc67e13b557a6e457f49cb3df3a657263f393496570fd105060cd5c600bbfb1f0a01db90c705691d4e7fc784593c2c4afab41bd5c40ebe5fb825413b9f65d3d28f7c027d4cc25900d4467d8bfb9b2ba4452611ce3f724272ed5692c76aabf0bb3d2e0d2c3c25d0ba340e251f4b8dcb9e811f28beca830002edd17e0dd39f9fc87022592e6b88d1dc8e0a159e8e40c049a75f0fa4126945826be4e86bd5b57dc2c714b1bee5c0f52a004afdef5892ffb8f707e5e73f9c927866c9093707010ce403916247f8d8a4852d24a8e619fb3b36adf25d3b2a1c52f28ea7a22f2f1de22bd82e438aefba691d146bb47273efbd3895ad9de0f2a4147b223557ca6b8bc0034d2c98d2e1933f6157fe418654c705dac58f14bda82fe5524c8e05324df3e079a53388c10a194627270e1f09fc22d1bb22d2b57ea08bb0bfde508526cb2b5d131652b00b303caf4a61033fa7d322fd1e4f8bbb0a879621bfa95ced8e0c5891b1081f58958df16b9314c4970f4869ece3c90541491113b316c6b72f51bdfc683b0cdefa58e5d332d67bc5e0aa965a4ef00999273f002bbb3349849e990c213eea15e39e71e79163860014a29dd1bf1aa0609209937b3ba8cbdcd9e3b826ecbeabc6cf0c3d0532fc88b2e4e676298f091f71cc222f121db2ef84a9d4dac09307f2a55471682db99b16a9f4f174952fdf974b04c1b81479ec9bb1717d4055861e417bbdda62748e0da593996c1289aab1646ed82c45e54d700a807cf9c7f2bdd7919689674eb246ae6547cb0603ae5b4427768527909a469a1b08c26a239a6bddba83014680a74266dd2aee5ff60c807b18caaed3e5afc7f6b604abbae719e6297b411f572ba660cc8923cf1258878e12c18d1c600d757042631a8177447c1554927ffdfe7772bfd84b7587a96cf90bdd015a7a2a80d526a0e4ff97de8ae898979b384299971517c309d6f7b89ff6bc86ecb110ce2835678364a3f713eb74ce0ba87641b91ac5d052693f6dd3d5f3ba8c1aa3e628db48e866442e5828c50a33efcf3f169d186b1473c18c30e7668b243239f776ec51c8448c7730f4526ba2cb42c06f7f899755833a1a11e9477c7b56eebb8c79b350f75ae448834ecfea6b526cfda796a7da3db5d733e83e0991254b099c7b14689990bcd57021a2eafa3cac4eb8df2ad69594cc476bb4ed8ac5f97114327152829eaa1873a4dd50afa9a6deb3d5cf00df241e10d793c62e15dc85acfd4468739845352b28f158266f6166252485b4a0b50cb8e3416868303f2cfa2590c5bbfad1e4429f2a29da834001d6492621e211d502a00a9b40f8737030ed8eae0b25977a0ad5a06dc6101b1955cffcc71c627a40c85d7fbe3ca12ece9ac377e2e410589adf0da8a9df0c1ba8c1737279b7ac2c236254a288c38c7d48852f7e34ccd928c690c231a6b93bceb19a82d8ec455e7b166faeed02427bcf3cd9cde7a79e92fbdb444680f0fc90fa1034ddd80eb5ff2fce7bcd85979d7f34457e4dd2e3a56e7b60b06fe24a995a36e667e5c36641011b2b06cb0dfc1b8bb70b4350d677278dba1bff1c380786f3459eaf9f306a74987af2c923557c42b55aca8e9f0c138649787a8fffedfa16cf106bd45628036510d35746c5d8e0714452e13ef2d7d8607718ee73ef3057b5443a47050506cba111b6862aac93dcb88f36d2f5ba7e898f0012c721f7be08c211c1bab68a5753954f1b50929b8c7f91e32cb4826fa6a172e4092551f2dce043a7a9994d7be5d4a5291e06d871d41b5851f98e10751a7b6ca07386fd0073a726b761e71c1a26652d1ce81fba6ffce41198be8cfd740bc215a38f92dc6c74e5816df98876958328146810b510e3160f85a5593633ad002a6c8af73cb941bb50f8b914e20b85520b956916feef1be6b81b211d9fe5062f3eafe713af330f237f112f6cb310a224ef1d76549d64b55aff0fcbe8e8bf064f9e2b091e8074cf06eba9f057b924a045c7a8cbda5860a35e7bb551207750534ff2792b711b52209fc370e897163208e486dfdb7548a2c2bec816c5b0833ebc50c828dc16166727e6896b552014ace87e99aecad3f6a2ea305b660c51ba865a35469308160519ad2bdd5973eafacd2a0b6f3f195c04c07c13f815671d35e9cbd5722468f52f401663aefd0dcf4d39e9d51630564f6031ed1dec3e78b6ccf298a28367ebb6f18678603908f66f9cd16911c08b42c4c66286cc99dd31bded6dcfc1d0b06a76bf53325b71138d6277cc7d12ef8723cc02400a335c6041c29bba1452d325b55a5782ab66129dd43afd52703bcf08b9b2c5b13ff8bfa2a4d5a0b2af10067ec19eda56d383e45a765c4a6768ef9aafd65521329004f18a82d19b3020870cfcdc4ee989caab3d366777c09979b80e3ac271a26d34cd79112449cc1617e556b0cd242d32cf2b24765f7764a84161dc531c72db31dee5a534e4568774a7b95ec1c26a09db1fb6b9dc8d1e8c3197d85abd04229afc9f7234e9b587aa6e4cd7104278ed2073c2b56af44ee5883f847bbb8208935fa32062ce8a4a3a8aa580b92c84b0ab26160d503613b8b8081caeb228366aab6fdf5417d2a2bbe70145eb5fbef29fae07621aeaba360778b51f9d0a0aff82bf655c21835a2e51e352d719bce7621c1b76dea8ff510c80bd82738e3cedbd738ca2a1f62922973f1dbeab2ab6f347ee529a3deb865af758ca6513ceb5412ab4db5242558093610838221dc5a1987b87055ec96ce3c42292857193147348d6f423db158019d4dfaf86fa66107aac5bf272d82878301cdbb07f630006b09189082e440610f6b8aa41cbe347e8dfb418e18bc4e84333e77393f36b76862d0e0c9e9237bf1f7a23215ab8ade58337936e5c5522bf806afcafbff4e266eddbb2156adebcc4108f821fdea5391784f847d6031270b75511a81de03730fc5412af1901954407298ad14c875321e96f9c4ae229d845ed69780b854a68e28baf67014d82a8a2f9d313eca62432f25d8b2b4e6ef80e7a03936efd9d10b825b969359a3b82a943037cc05c8c1e3e5b8986286244e0309ef7393fbe18877f88f885929f39f49563e91176461e4381ebeb361c728ec9457c4417cea2dedfa19953fa99a0d6c9f756630cf191681cb3d9050f7b8d98a4150dd9f3ededb873b3f4bc0c3952de14e0abfe1f660c17a3e19cff043780bb1a434108f77216989ff62d6ac5088f6bff29dfc2295b2865f95626af65cb78a1e26b27489a7b9ad2b3ee5bcd42f1c1e83c0daed144672f00b3e434b93b97e0454fa6f268dc98e51abbffd941713850513aa4b17bb9d62426e4618b27e75e2986bb0aecebd515041efc2ec82715ea039ebed6ea04e403e9dd6eeb0cea062bbe141b4d944842ec5b7b8a6629964634771940d410482fe190efc191cefc90b24c9a5f35165fe92770bff3a55dca6437ee18a77564fa4fa82c27c61afc290877c9555fea008b5e42f0684f4cc0622cc621f9713ab023a39c9f8ef8c464bf6ccde8e60972421475429ae028ce3fd352de714904f959a1fecf9f68aff3e52bfba50187d067bde00894f66abd7ce73dfe265f0a3ead604ebf18431c8b5d4e71b6730aa659cf009934fcdcb74ac7154085440da1327d7320b11d44bf71ecf91bfae65aa06245949b2a678984807921b313afdbd9740ea26094bbe25ce146cd4125b203d8ad3b506b1ed2fb61cc859ef05500226beeb317d825c5b048094caf5fecf4153bd6963da2b4d463e60085117555c1cfc5a14b4286e85d0a4508b549af77f113f63e1e13a963a3cfed7089635f3cd14809802bc05225f0120bf786bb12cf206360667640286d7b6e496678ca711f1d29cb07213cb516c17e37d570c554f3b58da488ddf6ca31ccdee26adb6a929b8b1352dcb1e6faa1cf4fac809d9df80aedd8fc7c0105ef69cced282a9cfd97644d040b696070798870cc30d2592d81b2f74d00ccd443893af2aeda826a629426b1478e8bbd309c387d814ee6b5cd526e05d9a77b38a2a11f629f208baea63b558d6d31620cef7398ff993c003aba74451cf5693e8caab5fb9f0af460bf0621e628e087f0a4465abe5a55fc4553563905128922ea31000a64305307d6f8232d248da347778eb67f86439b44432d89af52bf154d8fd5ba9b462539e7cb4dd84916c0c0aff61190439c123093b5518376837346eab99a26cf4206150f2cd981f89d6e3fc07f70418a276b9845563c7e7013e1225c3a7a0798d970aad08ec2d451e96d134c2bc546e65e947a891a87dc674d6c33831770562a656012106c3e83b9c776c3410bea41d1fd8d4c6550e793fcb064590a49f36a29b920a266c8d0cc6080629207c087906d7aabb366a9c61cf0b918a06519e0c11150224ecb3840fd15a64939d589154f79708ac2689248a1f2da13c7778d3214eb11f68ed5fcf36123926935cc74767e1adc69e79048c1e4bfe4b6678027724b1fa3abb5ad48b244bd76ca785463cf577fd0db2689b455c2dc289690363abaf0db39cdaaa39a97555cd5155189b2c26decc5e156578085ab6bca1be12cfcd3b75df2db00f8830898a38b75c9ec62fb92d7e9f62c037ec6b90f40edcdfd0e83f22723a2ba387177db9d90f82c75d4fbe79034010a29944f1d6ab12a263dbdd4185c733bcc9e14102140f152f5dc85ec60f46dd661baefc8f667f552929e80418b11b0971e44a5cc5a9f29c718b39936f108c6d4dc62ebc47d76a3e32d974c2687e21064db4cc03a8fa5493dd7f2f9d79d3ee5bae2fe1a79fcb6e313fb43147e2dfc1286ee59befd0a7f9ef7c1578a784ceb2c9ffad4fa533f7566b5956c34a294c3e163fe79b0acd6902420fefed60e67694a12a4394ec10a17ef6f1522affd01dca75217e418decbf92f8daa47bc29130614e9241e9e2500fe36c06470e82b950ccbab757a7880845b8465c1f17981c8fcddc535b7715055dcb1b8c3b479d1628dcb2b9a83de9aa51b49a4e32c112671b8fed1c85cff80ea6193a994218b7325154003c6678f65e06bfa27ad5a7d8fefa1a832a10e746971a78a1ce11ce02234f11886b77967fcbab623c502f24f2c6d480ffc7e7584cdd1ced003e2400b3c34d6491046d69cd90b4386a2df608848831ccb46c251c083aa827a87b1e546036e7dae08a9a693599fdb63702b07761b5ff92533f21e6bee569023eb6ad90929c576afe497112fddaf203a37908a881afa6a352201cfa44e580244daeb5a4a645462af47fc40b0f563c90a5713f69d8552336fa75ab76fe52c73db914d14ecb7caa46b37336073839d83bbd082fc65aacdcb90cb3fd8a1236e707b11d7e38e1a9f2bc7feded08720d6c796c0fc2e47538c72b3372abf18347a2db5fec039552b313f582ffad7d50e8e75a85efe540dfdbd934ad164d46062ffbaf3b963729a9938bc73e569ca59445d2f8abb876001b3a106d18c1eca9acd77a1fc277392823b29dcc53c90f1b0760a8bb8ea82de549dac68f7a7b54e94bd3a9d64372388c0523a8abbdcbaadb7e06817b5ace60a12e19478c8f06e3db9fbda670c8f9f1268858d0846c742eac2286a55029dc804021d6d8b36841ce707dd927095ebbb472503f42ed2e1549673cad67541c130cb87b393ee1e6c5c4f375ce032ce2a39c88ddacc55f319880452ac5ce4047dc5dff867e143a907b1b9073d5bb2f58622afce7f898c31faafe5d7abc720c098a31529c7a18ab8d4f53028049f69b53448ca5017096840b845be5facd028fd450ce982a0f67c4587dc597d58207237bb5ff171e31da4d10bd49a6bf04aca3fe85335868100b2e37e86a06bb678fc16299bc83c4c75134b8f717a5c07c0891111f8903416d984e251121cbfc9b10be9554718238e66d1e4724c92b3899b2d4fa9f78eca4e1362ce8b10fe96c56d0f2d0bcf76038eda64d2ccc42ef2db74c9c70285b0f6a7aa020532805448eb4b8600f3a412f65a57678f6d5d4ca52103c48e2fe59c1205d67069cd741cfffcf1b14cbfe3fea7876fc128969b72d2bc6b984b466024a9a03e1b80df18e4c929a85f9ec9bc076c90c24bc44afaa70cafa75e5f74714082afcfe92169857dbf38ac0c589d6a860bc1d147b1d82f31a7bdcae27b93e2ab0541c71d3f2546a9bac638b76685e00f3d80410293eb659b2a4a5d24fa0a65ee0b069c019d4ea07202db35a55a2103809d9bb69e9005ea79af3c9e9eacaf41d8efc068fb4b02bbd90df5179b28f282e21bcbcf2dc8d94f8830980c19320ccfe34d9617840dd44f875a1439e3b0c44298fc1c149afbf4c8996fb92427ae41e4649b934ca495991b7852b8551768f87e78001648795672ae40bf6942707422dffb74095a919b7cee3462dafdd137ea1ac139666459b433a003f8473f6031b457b23cfaa0f147d3f49765f14cd137ea1ac139666459b433a003f8473f6031b457b23cfaa0f147d3f49765f14c9b2da37d727b75631ae6911d09bf448ad80f92983dec7b1259196e4f7f4666d79b2da37d727b75631ae6911d09bf448ad80f92983dec7b1259196e4f7f4666d7fb1f5c080a68474b208f39c2afe96f47f9b94eafac32ee262bb45707863400d07f00ef5fe0b49abd1e9f5b01321ae3a52a35901be780a188e0e53df5fe8e649c3ce0dbebdd51927cdce11a7a8094d7401f121fcc619aa639d788b514a3a6d1608f1fb374b41dcf1c1859937748de15c32f1b16660772802e2c97d08860f25b88d11267e960bbacf9d0bbb043aaba9bd2090971bdde9517e2cc65415bd6dc991103ff8e76cfa2bfbe2e4334485e1b88379dfcf4e6bf0bf8e1ba89a94556da14d17596696957af2ccee66f65dc876fe9a3c028fcb4be0f31b8e5666cd867517a58a579bd32fba582af93ec5b223081877d3542c6df20bb08c11676f3d2552e9690eddfd8db17ec78aceecd0aa0dc613a7cafe36915b0b58aa207ca15946417166aeddfd8db17ec78aceecd0aa0dc613a7cafe36915b0b58aa207ca15946417166a41e66e3f6aa52314aa7b2f9eeb3a85d3b2af1ed69bcd4511e60896083ae9d44341e66e3f6aa52314aa7b2f9eeb3a85d3b2af1ed69bcd4511e60896083ae9d443b246f9dc796b3f37cf9111253fb9325d530a2d0a29693905651fa7792a90ec30b246f9dc796b3f37cf9111253fb9325d530a2d0a29693905651fa7792a90ec30ba7e5f4ce151d62b39c3f48007d5494f3554d163aa8dab30ab9a620c958b4d28ba7e5f4ce151d62b39c3f48007d5494f3554d163aa8dab30ab9a620c958b4d2824c462760c51be3a7dbad218c6292812332da090f79c3b56aae9578136ea3ab424c462760c51be3a7dbad218c6292812332da090f79c3b56aae9578136ea3ab4c8c4f628236572d079f50d0a3dcc04b3fc8289e1ad942cf0160209058450df38c8c4f628236572d079f50d0a3dcc04b3fc8289e1ad942cf0160209058450df3847f52f1869fb13c0ac7e55033afdc9097449e5c7ce0efce203952266b497919747f52f1869fb13c0ac7e55033afdc9097449e5c7ce0efce203952266b49791974e6f275e62e984e61892a4a0e5cd954c0b36d085a84b1f7fa8fa42b656edf3104e6f275e62e984e61892a4a0e5cd954c0b36d085a84b1f7fa8fa42b656edf310af5ba000b05879e281c4536a0b9219eae28c910f8114a086f184ce1376ecb7faaf5ba000b05879e281c4536a0b9219eae28c910f8114a086f184ce1376ecb7fa3122f00020bc0f1fb89f9c69b5c431e9d0c393874b46ad647ee35385e51a46173122f00020bc0f1fb89f9c69b5c431e9d0c393874b46ad647ee35385e51a4617c0ff7a413d2aceb4fcb5011934c2c7e9eb430b937ce0ed0b822b4cbd67e6e62bc0ff7a413d2aceb4fcb5011934c2c7e9eb430b937ce0ed0b822b4cbd67e6e62b02537a6a32c9eb5aeafaa64cfdc04cb67d2346e44ed7e5c6dbff222dfb1c342002537a6a32c9eb5aeafaa64cfdc04cb67d2346e44ed7e5c6dbff222dfb1c34206ad55ed1de8ec044ad023288f8f5b8c8bd60730a20827f4f34589f44a8760ed56ad55ed1de8ec044ad023288f8f5b8c8bd60730a20827f4f34589f44a8760ed50bd4a7bbdf12703cd38b0c484aee1d1116acbb78d3e5c69b9ea72d7f88134a5b0bd4a7bbdf12703cd38b0c484aee1d1116acbb78d3e5c69b9ea72d7f88134a5bfcc8d95ba4fb1a0dedfb68e198cce81dda6c4432c7b0e9dd071c97678de062a0fcc8d95ba4fb1a0dedfb68e198cce81dda6c4432c7b0e9dd071c97678de062a046899ecebcdb9d2de6f43c82ad287ec2781aee7ea8ea4315f4878613e46b8d0746899ecebcdb9d2de6f43c82ad287ec2781aee7ea8ea4315f4878613e46b8d07adb8ff0d2933c52bff0b6d997b9b54801955fd85fb0bd083868a576550368a0cadb8ff0d2933c52bff0b6d997b9b54801955fd85fb0bd083868a576550368a0c3cea06286acd057628d4dc323530384e92f3454a403493da2cae918ee0abfc3d3cea06286acd057628d4dc323530384e92f3454a403493da2cae918ee0abfc3d0f581d9182e809464bc99afaece65e5f11baf855e52357af2e77982544f0e80a9f205475677c0438ddc25edf7c485f7db1e76fde8ac3dd255ad17e4032df93f0bf543c0c13cec2a11c199867f055da2645607cd8b34cbf1ff4ee2a2c30abb2d0b353b5dcd95ed25b0a383ed862ddcec073c0c7cc556545ac8f0d17dd91f52b41f0547d6d63b459f7a4957c23989a89f736a276b4f0f6fa86e4be3336145ba2c38343d6267ea800c7d4b02657943fc73918555769764c97a4be0feaec46f68d42c0831e09808eeb7d5907515907eb539161dffac6b957e63f331064e8bd594e51ac09ccbba67114cf9ac734320dac5e9cfac30ec73df5300d9a8e5b03fed85d847064b89c3be5b38df7242af153a73c7948cfb349f6799948f509d2417c592f0403fb52388f45df45635163a85f1496f6dbb2798030e227a6512eeb18229138e18d9c735fc009316c26039e7e5c4f71d0c03c8de5a9e15b251467b5cb6f661101504214e2138b7d7b239743649729b69f4e169e293d0e98f45d4d8ed82173789eb6b13f270513ae6bf875fe98192c534cb5c91d2f5b3cd641d1b681ee57a9f27cc6fb1dbe68a4e921e663bf6961b8e00c9b029b6ec38926ca41b1bdc75987d657b20b980ce1ec90c3a5f373feca2e12355a47b00577e9e8c4231138c00a41a8ef5f1cd542f458472ebe11863e9927745cc0ad9a48e1d445590f6b2c216d4e7793e16d9fb945a92840f725a6eea1a1782d50af67c0981525357ae2eb438ac602e89b586c169c3fa8b7922e7e8ce2e4e611de8e357aea39c5431694c66c814b01b20a7f32e219b1ee519677133cb334c5d9df93d0bdbc3e126ce21c85ec101a74b614ee53b87e463187821fb58bf279a9fdac96566c15872552047fa83d6eab28d03759d20f0ea41dd1a1cbba8041c13d63bb50576287e3f7f464129efae5a00350e555bde2e76831ba05da70ded877329cf9314ddc3f21cf40c1f76f2781b8c2bae63476cd5606ad1c71bed389a506434e2d20f0c5cfcbc3a275f18c4d43914fef1c1ec11cbc2ce651ee80ad948a2cb4584fbae39c327c1fe01c6ea49e1b703da077eaa90384cf56702021ade562413173b00d38bd3981fcefe0ec0b3823ebec53df4934fa584b5d8208915dab27b66d9065247d3558a42659a8cead87e62d86b0190621f3338f2264fd800a6170cbdc63b72a57bb7016a14540de10c9942fce88a75c8351f2274975d610d2c4627def2050e32f0943b7e3ec45858f5d0cae909e442ea725535f05df6f098bd7cdf1ed8f5a967723d7b07749a792e47e2038072519595e8aefc3392eb086cfd4402ea0a0f2f6b95390e9ba1767ca8f60f226fdfb62c47a454f1504edcb46f465bc8dcf9182c2c79b0b52640e4c1a112c092af0f6cddd378786ab5753ac9392b9050623ac0feb7fc2a7ec4f59507c7bf3c630a4b895ed717d7957a00d0291bab5429cfe80c2a098da36a37d4bc44ab272cb14de5ba3ed0c02ab85f5f8c69315b105c5f15e81830ef17171383dc69e7d7f59cbc025bfe6dad02f60c0b405c272ea584089c62cd575e0a6b1e730f908c4978a1d17f71615d2dc825f914a079215100f6085a80cd87e6aa168b47dc39aceb3ca1fc3c571ec0da0a8b24f853b50b423b0aa3347f06463f7b9b8b8d2ca94ae4794f33dad8e3c5a92a2b24882dfaed6617a0cbfaeb74202a25e15ffa47196a2f6655aa51ac16b0ff50117ce05edff9cdb3cbcc753abac298af22932783d8d066d2c3793b13668d3466b870d59d4e9c1ecfdac2a8a3171783787f00539b2e1c435124da6a019b519c4afee58297c95739aa65ff014bc91dc2bc816fabbfb524a1545f76b7eb7a07d7c2d15563f25e8252ea63f5a56e9f991099aaeb9ae58e884e41e5585d7623c263844e0a78021b5bacdd184615fae653c9c79118a5e775a6439a7eaebfc54801fc78634beabb4da1add1aa17521f2a4dec57bbd4dad7b55e4ecf607f26fccda86e46ab1e2a64c5e0a294a11a383516f77dd603bb202a79e4229c8c6f683c0072a89afb7015933000973250d73196ef5f32c7aa5405b0bd85b45ca49f0d5f4ff236e9b2f4da5acbe54f86b3fb5c29e0cfc671a8b939f75f262e6d6750416f7573565267b91194e884ccae9b687b70823107cf697c852c570928156dbe273b1808d3d09488c1e9e845ce44d560d6e0106f85ef304150690dcf371f336d9f23f9786fac2e3018b02baa5a4d18180a3c631ccf9c61ced7cad13308e56c54c1545afa5ba765c3320edadbeaf82b7c09c17015b8785313108ca0d767d27bd878a351394478152b3c156cb39cad30f689b30d9262df8863c190e85ff149054dfdb416eb02b2305a0e87504947939bdeaccc93252ce38c29fd21fb92b7672c3be801bc66feeff736c0491fe447f610a409703e4e9bced00b10372064d3ca4c42134e468e350d1143eb648f60c7b0bd6031101ec0544a361ca74ecef256ac901f48bde16ebbb2802c7785776600e34bd6c5103b92a82eadc4bd1944448ea9022775717e52885a9541f612945552af31d017107c8335e084090c46c8012c0bebfae38db37aaacf67258a29972bfde5b2d03e3691ad24b8aedb7fb0de5648c0877ae91da1397adc5f5854b6ff271aa5df2a3bb13ea1c43ed5b99e70755e8d8d5c5c307fd607c1fa8ef83b8f4071e6918864adbea3a81c93695bd5766f310d192a3d7ac1ea30cc91329591e3e0dab36cd3e332b72137cfcc97320a2e3afc8ff1c9ea31ebf9d0b8ee6de8464c0609731c9335997865eb58aecded38c90b69093ec1d4f050145816641b5ff0ef629ba5e22ee36ad83e5515d49d22e493d6c37108280947e9f7f30ca746b4ca49c889f9a963a597be0e26b2563f375716b691b07eb48384b466507822aa96fd6d5757c5fcfffb76ffea5e94818e619119093a0f88360aa71548b92c523d548b321bf6a85775acf9ae58989b18411f704fe00af9df01bca6337d4eccf0b69d44e7b9b3ed17e9407d80be3a401d43d544463e9cda33c4345f9c71bcee43857d4432ebf4552f6803d0799ab61af08cd62905ac1ed462f08601acbacf524cb551e5294ec09bb8e6f12afa85d97fe88e44bfd7f80042a685070ff2a86c36d1891e3c4adc31ae822022d87fac455cba51a9037900f7754c9cce47777046ff571b0fc0916b66c2c783e1f1d56917e57afebf306150763b7f5ab4972344492e4549ecc0fa7aefc3673a0068d3055df3b7b552a88c00b43f5edd85429594bfc3a077f3e4fcfd97dc5d98318e477cd0995650067c80c122de0adfa2a0635810d042c0aa441fe0c628b2570570b5eb3f739a73800b26c760eb91cb39ea9c7701d5b0629c69b733b8f4b2cfb583c9ffa3770d31f8201b2a44667d9c843c33c2786931b017f3f2008b39fed17f04a34b4032bee6ce17eff2924ac89e4e45579491581a40f4d025b22526d55af6adc02821b5e18fd3ac0b9f6cab72cba609b230e3b865344dbe766aa57fa84a7904dec636f15cb29dfdf0be92d35382db246230e3b865344dbe766aa57fa84a7904dec636f15cb29dfdf0be92d35382db246ca1df8587d7d332d5047fdfc9bfd5bbf447d586d2a2296c749e40ae31c71261fca1df8587d7d332d5047fdfc9bfd5bbf447d586d2a2296c749e40ae31c71261fffc8c16085fdefd64dc1f26ad5304ee768c1638a761159e505dbe0d20fa7838affc8c16085fdefd64dc1f26ad5304ee768c1638a761159e505dbe0d20fa7838a06ac8f89aa40db3e5b963d81cc383fb287ef5e7aac1d1c972bbe5935abde8cd406ac8f89aa40db3e5b963d81cc383fb287ef5e7aac1d1c972bbe5935abde8cd4bc02f07b3e719f527667615f06ea311a29cb7b7b62a43bb6487efdb565a5d62376c191c5733eb3d698b83b2e5d90ed84d627c13dd56b70fcd4919dec3810fbe1d8e3c0979eb29f05e1c9826f551818a121f8d782f3790ba0b4af991e05095d4bbc1e9befc18723803c334f1ac8a47f8af5b7c33e51f96852b8aae50781de7fcc4ce97b6bc1efab32a13d2c61dd81e96b1f7fc2b6312542a6b903f02e4cea1db637dab1b93d5ce78318c8a1f4b9f5b50c1be087d7bc4599444aaf0b73bf5099239cb9b5dc9638650acbf465ef3273207faf98669432be39a86c96aee474719317d2e262fc83d18ee36527d0b22a45cc1955b76c4e07384958ad155e4aa03d50d04c2566cc0e2ddc5f20e5155b39256c43c6e03d1c11b67c285996fb7a868defa7cffb7e69a50e4ff30d63ab86cb3aae8da07dfce9df4b093761a9943ba0769f8ea8583c8ca6f29e2a76cbaecc84b2664a22fc826b071d4e942e08e10ec9ac1b23e882865b21a053b7fb3464c84e4bc979095c21c30c199a7847a32f102b4443ce53d68bb975f79b284c61c5874c353d7239689c418341b4258498db5600b830afe653bdf87bdf4ad2737bef6c25cb2fd912e7bd4fca8730dbd6562c60f1ed636488777b9df1dfbec201dcd37eb7633c333957be86d7e6c4d279dc956d4e2a8a361bd4188afe5f328846aa2f7e774b2f694c2703a6a925814fea3a4bb3ce3fa8fdf6183bdfdff67a3d67b06cf138fc735b8c5c9a24fe98ea9c95aedd8c27d414909337a791845d901935c1d94bc076af665fb534f6deb02ce54e71cd3ab8d2948f5fab5ac5c9a900e667266a48a8d697b15d57ce5de03ebf7b5496aeebe6c39a87f8d2134c36a2c0f860bc06a204847935bcbfe3d6a3b062a2b262a9285598a296fa29ce7ba377193619c08a187c624a317a4cc42cc1836b2dbddd617f0d7ee55dd7c97b9b1703b46d5d10a4bc084181dbbd9753463a58380f90084bfe0a110840fe3e5f8811cef7f9b6fb8ed293ff782298a1c091387b1db7a1d050e986bac2c2418926978aec868a8313c07e44df501342a520422d1da4279da48d17964a3d58aefbd88707fd44c8bb7bd6475701e497ace36dff2a044347a56415cfed8e73ac73cd054c899bc52abf37a6c68f14518469577fa332bffcd057c71766adc6896e76633747bee783a1585cf5c399c88001779d48abb047f8f329474ce92feeeb637c997fdf22b1c72c8c4401f09f4b73a4f1f28df2322ed70807eca2280cbbedc4ef4f3560e991c357f0376219db70a27781d5a33fb2cc92750e39f04532dde9476f6964341e13a8648fa67f19f2357f2eb6b337d6d225fcdf65870793245e3e4330084a85f25650cfe9395d15ea4e4f298e43732cd790793296f7c4aedf0cb3623d62b81f63b0418a39a8f5a323203d88ddafc8c5226f86d311970025d86d7b6cec5866733c7f79ad00d522098b3b6fbc1b48a9174f03f490838a3b5fb9d419ba5c4bc9a16aebf38c4b950f59b8e501ca36495328cb9eb622218bce9064a35e3e2eed6647e34fd219a08316345507edb007e919e0bfea63ec0d07034878b6801a47e7fc50db3699f1ca41ce9a2ffa202c00c5d1d5180c55f62ba859b1bd6cc00854115199b96a130cba02147c47c0deb43dcc9b9f08b5162bba8642b34980ac633012a521ca4c32c56939af6a67e4f4b8f5fb80c2952e19cbf2fcbd697c4bb37d096231e9c87df80ec3273da9c5b71bc81503206726a07a4dd4de44c256ff859c709282cf265b5b6fb12690d64ea2b37eda8baebfc38954fd66472d0e4e8e9cf18a599275ab15fb79302c5fa77ed52e42170ff359fecfa684f26e14f61286374374a01976311eb5eaf50432a5158ecceed3ccd36ddaf84ff5b2e384822bccddb305e508c7dc24b7e257dc231214c27f197a38f9ddb759db38df8f4c7af470045872c1743999f3161a93d73cc5ccb061fe273988e2e792fcebbef06234501c727d0bdff46f7e10f633d1e9f2ef99bde753b96bcb7386b0cc902de951ec348ae95ea54d13697a71463ba5558c80d17ac120cfc85e0a5e09a9e17a049c6e604056fd9bfddd99c06c8efa98b3089e41b36c48de9e41bb54c603436fcaff03aced8efbc2ec8e1422714633ec2f8f72953508fd7ea6857b9af2c722c2b45e6dff9ab0e533c9546233b32e4be9616440689a2c2663f97de8075787685710bbdb0d142d0a4634be61c8e998e70db81edcdbbdb560db213396a816d6c98a05af4f241b72b500cf645c6d40171c93b74e938888f086be4ba8095f4943ad44366f7966627df3f3d74d09f9a0d5c08e9ef211afed3397ace994a39748325ae53bea62124348b1bf8686e1d34f7a6b0ac3ee3b2ebcd4e99cf1bea0a690a8ba34b3a1dee6e38d6ded4bfe34aa8c75cf96a57ad855c989463d2f52bc35d87dc96a44573ca9dcca2f0e525240d0a13cc728c76f2f21de2f81f3c34c2ed73cdcef530ee530633e17256d2b920692b0115d29e2d24f57d79ce889a3374a28172f04257ebc85dd5f2943288880985d65ac926a62d85c1a461a0b858a2fd93cb44d3a4760ffa505312698f0af08ff315533947bbffbacb775fa42552b2272b54f103b788380769bf3072b9808d822ceeabc176bbed33a857d1b7edaf6bb2349ac58c8f14efdc5dfd72f1ae5c26075414392fb54dead9ef7a62ab249af3b180bdcbe136c849ef831d0ce83634f1cba7415d17dc6849a139f7c3a37b672ce9df5487baf1557f7a1fcd0bca490539037546bffe1fb30172419cecb4c558d19457897dee96c18e05d1305eabf75956ffb348f6f5e5e193f5154e225e5678f7ff08274b87ca0da986cb35b781ed97cf96002537418c88b07dafc28af4a37cf45827e9e1bbbcd62147ee22a6d96b4618404d5847e1e32c9cd0016805cec4948ffc0f168344b4a3352da0840e0851d6e8c029e1d5b16798cc72a3ee9ec50c68753684119a868bc84edcdafef6965fb3eedeba9ba43e0a12cd758616a9db737d58f70a3a7726608857423c6d1d8f427d0f6771875f20ee2c52dea4374a9c3ed2b95e93294a00ffd2c5ac4ccef1f28c10c87f714ddd68f02593349b43933699ef1d9a4deb69950b6ca870e805f0d08fc995759775bbaa22c62f1f2b46f13ec7d7b41fe59c12d66e7a230d0368d9dc31bbf292c29b7d78c2ef550fd8d910ce1e2b723be4e242fbe74039d0ee3e00e5920ef0acd314572408d454134ebfa5e271565615c8e2b223186b883ac22fd623a83d688b175394cbcbd03354459458073dd87ba895cc63ad38c3c88b54635d5a8e135443b681f63cf51cd26dd12bee6cadbc83e0e3f1ad1c048fc9ab918e6e87a83512fe59414e97397ac04b79a44630f3a5395baedf2b84fadc7d363aada973abea57e00ca03c42e1dbb40e53dfa9f2c6c80cde3792f521ab9057c1b842d6c7be002169742407168e253bce0250185f0b721f7461c3fc9d451ebe06a6bb73f0e86f4a1612050ff266b96bcffd3e1f433dfa787f7e68243104ab3598eb8d538262b99c070bcaa940c557acfa867411e363da5e4ad87b56d4180f3c342b18154d6215f0cdf17fb3fd89e38d3830e19ed2cec1f98f172eafb71cb27d05cddc1529365c2648eb0a0ed4cebf3e049e75bcbf69a777554da62d39496416458018ad39b93db6ff0af01c1416a4cf5643fa970e6facf75aa2c38a66404085039c2314e33b1fb4e30fc4b96eb2bab6c7dae89f65ddd6bbb12119017843939b2602867da5b2842c0058217a5930dede5b87a92c30853b7d9fb82cc53d4bcdd023d38a8d7acdaa5ea44a229308a5f1d223d2962dad7c7f5e54c1731a0338e6c2c04cd3bf69fec5a2d34405b42f08cade610ffd9a40ca2bfebd4bea3e7a6ff6a53d30bb38f892a74011a97e33910fb7b86ce7524fe685479aec9fb64aa13f895c48cbe77599fc2ef91b6fe4d50f1d88baef511389dac950c577b966eb090c7cd708682d037ab566dc3b315ff9d640cf92bee650ddf04345170c27651ff91100613546565223e636ee4f8e734765af2a23e42c83f63bbb11733d4c40eb3d48ff461c9f4bbd1e4cf95671146d5d7bcb674c5567a669351fbc139fcb5b16443e395e52a8cdb12049feaa6866098a61b5c99d6e1fabc275946a0debd8f450ef093ecb1a32456003a08de44141ee43bf62443dc0b51cff5e5cd6316ba0f59df5cb3dcaa5a98655e1a75169e11cb5affb82d6eeec9284324d3d2e8cc4842d978b6bd2c9788d937fcc13c85727d181c7449773cd8530cc21b7361aee9a56d3645f0e7ee28b1afae2f714417c405346b54043b8b7366fd713b3144af5cfc7866340eeaf70ee834a5ec2497df6b4561785becb6ac097c8dc054c132e54ba2a7bc52c00eaac15658f64be63ff5183c3b40ebf3bc4f9c8f734a72948800f59f690d161576c251b34ba629c35438cf2bca39e6da8ef79ce25837899b8d9c492fc42299c62327e8bbd4afac4152c6164fdfaf324ed7017ea1d359be299e40a576615a248c5fc085fcd9a843bbacef1aa9469226776a45bdf6e0cd1963c0e7cbd4d8cac1d8d6c192ffa49eb194d42efe3977fdda7bbb64c7c875af8dc3d7692f55fa6801de2cf23a4373108b62544b5846ba7284c6d647b50d1a6512dea8a9c710533b0286dda56565a0bbc5336a97501f478cbe0a295a9a3d67a1864c1ff6397e3c48795cc883195c5bf71e497395410686556118be29da1878c24feaf974c76e1c5bb4ffec54519c64dfa4e47395410686556118be29da1878c24feaf974c76e1c5bb4ffec54519c64dfa4e46a4fa8ec1bcb351da7111f1c148da8a6ef9ec7c7cca3d25352b07b6216e27e546a4fa8ec1bcb351da7111f1c148da8a6ef9ec7c7cca3d25352b07b6216e27e541ac709e6350fc16087a3e3f4a5b90bb126445e052dfd18fb8c5ee0d3d3b077381ac709e6350fc16087a3e3f4a5b90bb126445e052dfd18fb8c5ee0d3d3b07738f11a6b11ba1c3d320de7dcbdc846cbf5d4f98e57088680e00348da9f14a020d4f11a6b11ba1c3d320de7dcbdc846cbf5d4f98e57088680e00348da9f14a020d4f50a1993a62981e1e10b42eccaa75e5d091c09a59a475c9644072e1c0a68594dee3a64ef07c3db00e08742742ed0daac459fce74a37ca0f6e611c287b5c8e58bea21f4accb937fd2331a5886c94a74603d820ce050cfc6d6c046eabc38b8ba3ea00cb8f196df69ec448de950c3aaf2ccf1c48ba28e53e4df247c0a9033a15ddba00cb8f196df69ec448de950c3aaf2ccf1c48ba28e53e4df247c0a9033a15ddba663a58fe94218a205bc33954ca6447320fb88a0f08e8055a44ad54e0d8ee29fa663a58fe94218a205bc33954ca6447320fb88a0f08e8055a44ad54e0d8ee29f08720253fec953969958246a2caad33ef214e5ece236ed4bbc317b3b1bc15a2655ba8c884ba76627a68c3e8af44eecd76ec36ca8325cbc949512a2536df4aada3bc2d4d80c18731d61226cc6a70ff75c0fb662c69b9dd56031d5740353cdc33a18e848d8407f80299164ca83fe4d84aaebcf3f318e8d6e411d9c1c51579d84adb75f08bca21b54a79ef0bcd0b783725b990949026f6465518353b9d4ac6965cb6980c407ae4cf705d489cf589a4ca7eb29ab706b01e64e7b10c0156f7d2c1c1d9db5e301b3352a0f80966ab2480a7748efa5e46771ba536269dc6cc0fec430a99db5e301b3352a0f80966ab2480a7748efa5e46771ba536269dc6cc0fec430a9421aee9d082c8ad2a2c524da6a3fef86946ced1466b0660f42659d4458b077e0421aee9d082c8ad2a2c524da6a3fef86946ced1466b0660f42659d4458b077e0660bf3e40f5fa286358b30640c1ca91dd4bc2be038034d86d9c74522c7921fd2660bf3e40f5fa286358b30640c1ca91dd4bc2be038034d86d9c74522c7921fd2762f46b4a788000b81c781501139c4f7322069c402631ea94ca7e0956cc76d60762f46b4a788000b81c781501139c4f7322069c402631ea94ca7e0956cc76d60c7340a95203a6435da2027c0958ae76820b66ba389daa3d3be2e28acbaeaf55cc7340a95203a6435da2027c0958ae76820b66ba389daa3d3be2e28acbaeaf55c12c99506c6c4826bbc110cbf5048a1f1535caf49bc3ce182fa4a9c1dc1ea375712c99506c6c4826bbc110cbf5048a1f1535caf49bc3ce182fa4a9c1dc1ea375768c5c829391ff8c07b9a736ea5321bbaebe233e11ac9b4f642bd5898d4a426894bd5b15e7b58b13785250d8543c9aa3b3e9fe5c23bd6ff0d65d593418323e62cce38d19ca7a4f6080e0e7e2f28875575d21332ec9b249f0ed64c797ff672aaf9ce38d19ca7a4f6080e0e7e2f28875575d21332ec9b249f0ed64c797ff672aaf9ddac01bd7cee2463e2f5b6113d58fdb1a2aa2edd4a4a22ec4801ed2afe13fee0ddac01bd7cee2463e2f5b6113d58fdb1a2aa2edd4a4a22ec4801ed2afe13fee06ee53ac32e15d2af4a954cac588d12e3fb3f3cd5b261c0dbc83f773424813ad86ee53ac32e15d2af4a954cac588d12e3fb3f3cd5b261c0dbc83f773424813ad857051135161aef2832bc0fed4f3ff2bcd5109a53d76cc729d1fceee5e24108f657051135161aef2832bc0fed4f3ff2bcd5109a53d76cc729d1fceee5e24108f6ca1007ce0b12a5b3d688d1294d222ecc235630fbc820574dd6e7e2f284668518ca1007ce0b12a5b3d688d1294d222ecc235630fbc820574dd6e7e2f28466851897317a9457107252d339745b4a69a7b27e0f3e40fb8edc66e1aec7baa937c42a97317a9457107252d339745b4a69a7b27e0f3e40fb8edc66e1aec7baa937c42a2d78d17c951807793a3d29eb08eee263954c6792f4c5b8e80f503fd7e7ff7ce92d78d17c951807793a3d29eb08eee263954c6792f4c5b8e80f503fd7e7ff7ce9f06f5b69ea3222cc5508dd35e10aad22398c1eab9cd9dbc23a1636821c986f32f06f5b69ea3222cc5508dd35e10aad22398c1eab9cd9dbc23a1636821c986f32543bfa924ab42b14feaa22370442fef574027857a27f97d02f0d21602ba93c78543bfa924ab42b14feaa22370442fef574027857a27f97d02f0d21602ba93c78219a3ea5d50374da02e65773e6590cb48689840f75d169299dcd93c456979ff6219a3ea5d50374da02e65773e6590cb48689840f75d169299dcd93c456979ff630dda7826a364e325791f4052073ed4370d49dd9c3d8303774e0796e6579f94130dda7826a364e325791f4052073ed4370d49dd9c3d8303774e0796e6579f941ce6f894c23d388a3e7d918ae0f96c3cd6a2d031229c773e63448a489721fde49ce6f894c23d388a3e7d918ae0f96c3cd6a2d031229c773e63448a489721fde49c24bc7af31bbb74da2b713446cbdb63a3d4148e22b27ff2dab517a432d0a7d1ac24bc7af31bbb74da2b713446cbdb63a3d4148e22b27ff2dab517a432d0a7d1a0716b4d1f35fcbe6cb5d3037c532732a26428e8596aaa34f2d3465595df293b40716b4d1f35fcbe6cb5d3037c532732a26428e8596aaa34f2d3465595df293b4af07f8349880867f82b03e18361843480b349feca52b7db2e2655f46cbb24797af07f8349880867f82b03e18361843480b349feca52b7db2e2655f46cbb24797ff4528cde37988dbf793f0771f104c998b0138b1c05a7125c0a24b20ed51a34fff4528cde37988dbf793f0771f104c998b0138b1c05a7125c0a24b20ed51a34f054e56371d0155ebf0a9c173757af8c65b839883605e1ee6b848acab595a4697054e56371d0155ebf0a9c173757af8c65b839883605e1ee6b848acab595a4697a1a7e96c252b40302b877573f085b8d00aeb2e508cce6fd16bf392a43a6a591aa1a7e96c252b40302b877573f085b8d00aeb2e508cce6fd16bf392a43a6a591a273983d69e9b1114838337358c9d9a080419c8ff14e6bb38a8fed500c3a0c9ef56ee553f93493279922a10d952345fd1855a396e88d711beb51955140d24267fff45b7f85816e4699b7d03e103db339d0e3ee98c238e556758b06cd647cc2acaff45b7f85816e4699b7d03e103db339d0e3ee98c238e556758b06cd647cc2acae828c8a106b71d5260e6aef3a82e1fbbf8e4cef2f8f8e377dc99aed39c2f0f79e828c8a106b71d5260e6aef3a82e1fbbf8e4cef2f8f8e377dc99aed39c2f0f7935f5152837e2cb40202f8a2d01be1eab4ed642636b301b97ea2b956844d33b7935f5152837e2cb40202f8a2d01be1eab4ed642636b301b97ea2b956844d33b79edd42af3ee39b6921741dfc52bed794bd84ad1e338c920b43d08f6cda247be27edd42af3ee39b6921741dfc52bed794bd84ad1e338c920b43d08f6cda247be279e2a58233ccd99ea3b53d9e2ebdb61cc826a446284c16fe5bba5508c6dd2b8157c3d2394235e734c3974c3eaf285ac16ebf9b9957b5edcaacce9e956fc17186db8e34fc52d8563ab1452e5ee28f074e217ab8b863d5961ed13ccd0246b5292745ae38a3835408c20f8fd4796ad6e37f473f0e61de3f45ae0f06393daba7fd980c6c58a9cce74b4b2b5a06b5cc4d630cdb132081a7b49c11530fe9cb7c50e7df5eb8d40121c63ebf817959e9b76f415130e5e97f622b7ed15d8abef55ff46819e83ffe90a4a4806309ec3aacfeb2b490185e04ca30ac634dd50339a176103a82b323f31962581957d892157c1c122cc5ce4cd6b8de7037cd3546f203c0c7dc9b71b6449da3a1ce711e2299d2ab922bba09f7aac103c45670d6b540224ef3ddcd402735af076c882b333c3dece378cddbd0c126a2380844ade7aa7d0db8f3c145fa6aa0b1e3d55a9ef7c564881a009f0e9493564fc88fef300f24f6d7f100adaf41b671875ad47233db466154d19949b9979b60276036b6fb9a9a53373b3590d9c5fc7085818e37b3e671d7946c50403928a085ef0cd9178975df5c12dc256247ec046b9e66fed7b3dd414d14456e21eb0440a59abc0350d8efa5f3a93521fd2c683462bdc150948841187df59abffee5a3d25c2823538a06f1d00b8e38704bf96b6792a263d3b3ef35652cf1a04af015aa6e1f6963f05b04d98e96093a0c53064af7504f6ef4e4897b70eddc71f4b314d42f05e94e04d446506cd15fc32b93e03434db323944d5f39162c41a302e5d1f97fbff1712554499ffaa04d6f82ef63c6f16e163a9b2757ee1ccea4d49867c0f98e2db95758d3f12a890f55fa6d57bd2791cdc1d1e39becfbbc0ea8ea73cb55e5e92d8dfa1fe7c6d26437a6c090202ef8e3d3239969f31e663d6f4f76f8c6e6b4c21a6f81ec16147e23ae9b5c338b2f449e3a81c43d5ae5154ef39d8785800b4c3a57295b628eb71898a326ad5f117474efc4a92b212e41395a1d72299c7677903693419aa1362bc6716eca5dbac6ecdbe62694b90ac41bf55ed77286173107107513d95c5d16d849ae6f674cff7a98453fe6f8888ffafae7e25dc1e80141ff78e619f57b1781593f95b4feb80e571516fa9a163bc52bb8de3bc166eceab9f3eb49e9ca7268ffbacf766c2ea722e6b0d6485e4b06b5dc019822e4632603580ba6bc8c1a6c36a935b2406027339b2b700f7861c4fc65fbdf64957921dc9a9ad76ce6b67aec0d877ee4444c163d363586f6a8d17f84300bc9136057763ecf8e5286f07516bf00c06516d1939872a55ed334848fd11aae830530eee2a3749aa744fc991bd3bb4de82cdfc8be3c900cd85f4679f19d9f1e0c5a53c40f35c009fe10d7c3a2dc64f263939bd7823f8f75d7b577381e4b245bff8d3e51d8bfb004782f12bf00a9de07d986f3b36fad378b75e33e381e4b245bff8d3e51d8bfb004782f12bf00a9de07d986f3b36fad378b75e33ecf95407eb27c5a777d9bd0e2274ab8e49abdcf8572b99b56535cade463ce9bdccf95407eb27c5a777d9bd0e2274ab8e49abdcf8572b99b56535cade463ce9bdcc30ae1e9042f0a75941b0260f30d54791519dd7ba35fbd02978c097c013570e8f007d165ea77afb100432a6d6a8dd829645d0788535f6ee80afbed7da57c7de7a457befeb6aa889c98e9a2d262eaafaca5d496d8a48267ab4d1e17c6b1a6bc8abdde120768a5c65490efd6d1a426a219681f6191d47c5302db591e64113e411a5bfdf38721b60e7ae7ba044f09d6a6d2285bcc76dc58dd3a6170cf41ca73e5385bfdf38721b60e7ae7ba044f09d6a6d2285bcc76dc58dd3a6170cf41ca73e5387ae742399abf729d2d016a350735868fe9a3877a2688583233ebd73d7f1ee119d8f02be6f127c508c72057c60bc54e5e4467dd7702a0116e9f6070f6ef19c7808e6f13e52443e392c95d86a021555785af23e9791e48bb8b7c9542825f6ef70c8e6f13e52443e392c95d86a021555785af23e9791e48bb8b7c9542825f6ef70cc0b5be74551830e300c80e6832107c2a5531c912b6c8e0133b2fdf5ac96ab092c0b5be74551830e300c80e6832107c2a5531c912b6c8e0133b2fdf5ac96ab092baa63c999b43ce0b012a4512e7fe719fc24fec60bc26d935d197288c13b10deccf0811edc26c7dbc0239c32c7e70f2019e6c3e927e83fe0daa280d4b13a956b478d6ed48b5b7e963bb31fc1daab26736b1270c72177179ff46cb0a24b75ecac4aa287fb831abf2c42b83a07e121bad25c1ce00a2fb1ea6f1bfd7a9dc017339a1b33daa527fb4a2787d6d04f90007f07b0490501c190e9fd6aca30906e448c4c6528a5403a26bcbc5898f4d1af3247e9038936b3f7f390b1fd66fc340bec3b9f887d271e74f541d38053fd5db743f4295e9c6f3346c8b3991fa4c3620ea302bfce47bdf7414be8a908aecabc14ad4ca2dc3720b629faf2003d77e4bc6c2a7cd57cfbca81bf274da3c0e8ed1627e323e838a3e240abd4dcb65496efa2e75dc3dddd2a0fe0966075a87810ae128fa4e57ceab462b61f18854bc9ffdfb6c2a26047cff1bda7a7df4aea4723ccf02f678f0724c831a32cadf779b9fb4f12110d5bebb/etc/alternatives/sphinx-apidoc/etc/alternatives/sphinx-autogen/etc/alternatives/sphinx-build/etc/alternatives/sphinx-quickstart@@@@rootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootpython-Sphinx-7.2.6-150400.3.10.1.src.rpmpython311-Sphinx@@      /bin/sh/bin/sh/usr/bin/python3.11python(abi)python311-Babelpython311-Jinja2python311-Pygmentspython311-alabasterpython311-docutilspython311-imagesizepython311-packagingpython311-requestspython311-snowballstemmerpython311-sphinx_rtd_themepython311-sphinxcontrib-applehelppython311-sphinxcontrib-devhelppython311-sphinxcontrib-htmlhelppython311-sphinxcontrib-jsmathpython311-sphinxcontrib-qthelppython311-sphinxcontrib-serializinghtmlpython311-sphinxcontrib-websupportrpmlib(CompressedFileNames)rpmlib(FileDigests)rpmlib(PartialHardlinkSets)rpmlib(PayloadFilesHavePrefix)rpmlib(PayloadIsXz)update-alternativesupdate-alternatives3.111.32.32.140.70.122.5.01.12.0.01.0.21.1.93.0.4-14.6.0-14.0.4-14.0-15.2-14.14.3f&Q@e @e@eoeied@d/@dddíd`@dNX@dI@dGdFo@dBzd7c_cS@c@ccj@c$@cK@c9}@c6@c2c1@c0Bb(b4@b֜blbbbA@aaNa@aa@aaW@aW@a@a@a`@`.`g@`r`r``y|@`lM@`P__=_@_$___F@_q@_;_5+@_A@_ ^J^^k@^d@^Q^O@]@]@]x]M`@]G@\\]@\\\e\B@\@\M\M\M\@\~d\ `[O+[M@[WZ%ZZH@ZSYYχ@Y@YzY@YYu@YZ1YV=@YTYMY]Y i@X@X@V2V`V@VVhUYUU@U@U3@U+U&idaniel.garcia@suse.comana.guerrero@suse.comdaniel.garcia@suse.comdmueller@suse.comdmueller@suse.comdmueller@suse.comdmueller@suse.commmachova@suse.commmachova@suse.comdmueller@suse.commartin.liska@hey.comdmueller@suse.commliska@suse.czmcepl@suse.commliska@suse.czmliska@suse.czdmueller@suse.commcepl@suse.comdmueller@suse.commliska@suse.czmliska@suse.czmliska@suse.czmliska@suse.czmliska@suse.czmliska@suse.czmmachova@suse.commliska@suse.czmliska@suse.czmliska@suse.czmliska@suse.czmliska@suse.czmliska@suse.czmcepl@suse.commliska@suse.czmichael@stroeder.commliska@suse.czmliska@suse.czmcepl@suse.comcode@bnavigator.demcepl@suse.commliska@suse.czmliska@suse.czarun@gmx.demcepl@suse.commliska@suse.czmcepl@suse.commliska@suse.czdmueller@suse.comdmueller@suse.commliska@suse.czmliska@suse.czmcepl@suse.commcepl@suse.commliska@suse.czdmueller@suse.comdmueller@suse.comdmueller@suse.commmachova@suse.commmachova@suse.comdmueller@suse.comcode@bnavigator.dedmueller@suse.comcode@bnavigator.decode@bnavigator.dedmueller@suse.comdmueller@suse.comdmueller@suse.commcepl@suse.comarun@gmx.dearun@gmx.dejzerebecki@suse.comsteven.kowalik@suse.comarun@gmx.dearun@gmx.dealoisio@gmx.comarun@gmx.detchvatal@suse.comtchvatal@suse.comdcermak@suse.comtchvatal@suse.comtchvatal@suse.comtchvatal@suse.comdmueller@suse.comdmueller@suse.commcepl@suse.commcepl@suse.commcepl@suse.commcepl@suse.comtchvatal@suse.comtchvatal@suse.commcepl@suse.comtbechtold@suse.commcepl@suse.commimi.vx@gmail.comdmueller@suse.commimi.vx@gmail.comaplanas@suse.comdmueller@suse.comaplanas@suse.comarun@gmx.dearun@gmx.dearun@gmx.detoddrme2178@gmail.comjengelh@inai.detoddrme2178@gmail.comtoddrme2178@gmail.comtoddrme2178@gmail.comtbechtold@suse.comtbechtold@suse.comtbechtold@suse.comtbechtold@suse.comtoddrme2178@gmail.comtoddrme2178@gmail.comjmatejek@suse.comtbechtold@suse.commichael@stroeder.comtoddrme2178@gmail.commichael@stroeder.commichael@stroeder.commichael@stroeder.comtoddrme2178@gmail.comtoddrme2178@gmail.comhpj@urpla.netseife+obs@b1-systems.comtoddrme2178@gmail.comalarrosa@suse.comtermim@gmail.com- Add fix-test-expectation-for-enum-rendering-on-python-3.12.3.patch gh#sphinx-doc/sphinx#12293, bsc#1223128- Disable test test_ext_imgconverter.- Add upstream patch fix-autodoc-tests-python-3117.patch to make it work with python 3.11.7 gh#sphinx-doc/sphinx#11793- avoid xdist - not used by upstream and unstable (and not improving the build time by more than 25%)- remove setuptools requires- update to 7.2.6: * #11679: Add the :envvar:`!SPHINX_AUTODOC_RELOAD_MODULES` environment variable, which if set reloads modules when using autodoc with ``TYPE_CHECKING = True``. * #11679: Use :py:func:`importlib.reload` to reload modules in autodoc.- update to 7.2.5: * #11645: Fix a regression preventing autodoc from importing modules within packages that make use of ``if typing.TYPE_CHECKING:`` to guard circular imports needed by type checkers. * #11634: Fixed inheritance diagram relative link resolution for sibling files in a subdirectory. * #11659: Allow ``?config=...`` in :confval:`mathjax_path`. * #11654: autodoc: Fail with a more descriptive error message when an object claims to be an instance of ``type``, but is not a class. * 11620: Cease emitting :event:`source-read` events for files read via the :dudir:`include` directive. * 11620: Add a new :event:`include-read` for observing and transforming the content of included files via the :dudir:`include` directive. * #11627: Restore support for copyright lines of the form ``YYYY`` when ``SOURCE_DATE_EPOCH`` is set.- update to 7.2.4 * Require sphinxcontrib-serializinghtml 1.1.9. * Fix regression in autodoc.Documenter.parse_name(). * Fix regression in JSON serialisation. * autodoc: Support positional-only parameters in classmethod methods when autodoc_preserve_defaults is True. * Restore support string methods on path objects. This is deprecated and will be removed in Sphinx 8. Use os.fspath() to convert Path objects to strings, or Path’s methods to work with path objects. * Fix a regression in the MoveModuleTargets transform. * linkcheck: Resolve hanging tests for timezones west of London and incorrect conversion from UTC to offsets from the UNIX epoch.- update to 7.2.2 * Drop Python 3.8 support. * Require Pygments 2.14 or later. * Deprecate sphinx.util.md5 and sphinx.util.sha1. Use hashlib instead. * Deprecate sphinx.testing.path. Use os.path or pathlib instead. * Support os.PathLike types and pathlib.Path objects in many more places. * Add the :no-typesetting: option to suppress textual output and only create a linkable anchor. * Allow running Sphinx with python -m sphinx build * graphviz: Fix relative links from within the graph. * pytest: Fail tests on “XPASS”, Set PYTHONWARNINGS=error, set strict config * Restored the the str interface of the asset classes (_CascadingStyleSheet and _JavaScript), which several extensions relied upon. This will be removed in Sphinx 9. * Many more changes (even deprecations), see upstream changelog- update to 7.1.2: * #11542: linkcheck: Properly respect :confval:`linkcheck_anchors` and do not spuriously report failures to validate anchors.- Update to 7.1.1: * #11514: Fix ``SOURCE_DATE_EPOCH`` in multi-line copyright footer. Patch by Bénédikt Tran. - Update to 7.1.0: * Releases are no longer signed, given the `change in PyPI policy`_. * #11412: Emit warnings on using a deprecated Python-specific index entry type (namely, ``module``, ``keyword``, ``operator``, ``object``, ``exception``, ``statement``, and ``builtin``) in the :rst:dir:`index` directive, and set the removal version to Sphinx 9. Patch by Adam Turner. * #11415: Add a checksum to JavaScript and CSS asset URIs included within generated HTML, using the CRC32 algorithm. * :meth:`~sphinx.application.Sphinx.require_sphinx` now allows the version requirement to be specified as ``(major, minor)``. * #11011: Allow configuring a line-length limit for object signatures, via :confval:`maximum_signature_line_length` and the domain-specific variants. If the length of the signature (in characters) is greater than the configured limit, each parameter in the signature will be split to its own logical line. This behaviour may also be controlled by options on object description directives, for example :rst:dir:`py:function:single-line-parameter-list`. Patch by Thomas Louf, Adam Turner, and Jean-François B. * #10983: Support for multiline copyright statements in the footer block. Patch by Stefanie Molin * ``sphinx.util.display.status_iterator`` now clears the current line with ANSI control codes, rather than overprinting with space characters. * #11431: linkcheck: Treat SSL failures as broken links. Patch by Bénédikt Tran * #11157: Keep the ``translated`` attribute on translated nodes. * #11451: Improve the traceback displayed when using :option:`sphinx-build -T` in parallel builds. Patch by Bénédikt Tran * #11324: linkcheck: Use session-basd HTTP requests. * #11438: Add support for the :rst:dir:`py:class` and :rst:dir:`py:function` directives for PEP 695 (generic classes and functions declarations) and PEP 696 (default type parameters). Multi-line support (#11011) is enabled for type parameters list and can be locally controlled on object description directives, e.g., :rst:dir:`py:function:single-line-type-parameter-list`. Patch by Bénédikt Tran. * #11484: linkcheck: Allow HTML anchors to be ignored on a per-URL basis via :confval:`linkcheck_anchors_ignore_for_url` while still checking the validity of the page itself. Patch by Bénédikt Tran * #1246: Add translation progress statistics and inspection support, via a new substitution (``|translation progress|``) and a new configuration variable (:confval:`translation_progress_classes`). These enable determining the percentage of translated elements within a document, and the remaining translated and untranslated elements. * Restored the ``footnote-reference`` class that has been removed in the latest (unreleased) version of Docutils. * #11486: Use :rfc:`8081` font file MIME types in the EPUB builder. Using the correct MIME type will prevent warnings from ``epubcheck`` and will generate a valid EPUB. * #11435: Use microsecond-resolution timestamps for outdated file detection in ``BuildEnvironment.get_outdated_files``. * #11437: Top-level headings starting with a reStructuredText role now render properly when :confval:`rst_prolog` is set. Previously, a file starting with the below would have improperly rendered due to where the prologue text was inserted into the document. Patch by Bénédikt Tran. * #11337: Fix a ``MemoryError`` in ``sphinx.ext.intersphinx`` when using ``None`` or ``typing.*`` as inline type references. Patch by Bénédikt Tran (picnixz) * #11345: Always delete ``docutils.conf`` in test directories when running ``SphinxTestApp.cleanup()``.- update to 7.0.1: * Support `Docutils 0.20`_. * #11418: Clean up remaining references to ``sphinx.setup_command`` following the removal of support for setuptools.- Update to version 7.0.0 * #11359: Remove long-deprecated aliases for ``MecabSplitter`` and ``DefaultSplitter`` in ``sphinx.search.ja``. * #11360: Remove deprecated ``make_old_id`` functions in domain object description classes. * #11363: Remove the Setuptools integration (``build_sphinx`` hook in ``setup.py``). * #11364: Remove deprecated ``sphinx.ext.napoleon.iterators`` module. * #11365: Remove support for the ``jsdump`` format in ``sphinx.search``. * #11366: Make ``locale`` a required argument to ``sphinx.util.i18n.format_date()``. * #11370: Remove deprecated ``sphinx.util.stemmer`` module. * #11371: Remove deprecated ``sphinx.pycode.ast.parse()`` function. * #11372: Remove deprecated ``sphinx.io.read_doc()`` function. * #11373: Removed deprecated ``sphinx.util.get_matching_files()`` function. * #11378: Remove deprecated ``sphinx.util.docutils.is_html5_writer_available()`` function. * #11379: Make the ``env`` argument to ``Builder`` subclasses required. * #11380: autosummary: Always emit grouped import exceptions. * #11381: Remove deprecated ``style`` key for HTML templates. * #11382: Remove deprecated ``sphinx.writers.latex.LaTeXTranslator.docclasses`` attribute. * #11383: Remove deprecated ``sphinx.builders.html.html5_ready`` and ``sphinx.builders.html.HTMLTranslator`` attributes. * #11385: Remove support for HTML 4 output.- For PSP packages don't include documentation at all. The building of Sphinx documentation is so complicated, that it is not possible to include it in the main package.- Update to version 6.2.1 * #11355: Revert the default type of :confval:`nitpick_ignore` and :confval:`nitpick_ignore_regex` to ``list``.- Bump to version 6.2.0 * Require Docutils 0.18.1 or greater. * LaTeX: removal of some internal TeX ``\dimen`` registers (not previously publicly documented) as per 5.1.0 code comments in ``sphinx.sty``: ``\sphinxverbatimsep``, ``\sphinxverbatimborder``, ``\sphinxshadowsep``, ``\sphinxshadowsize``, and ``\sphinxshadowrule``. (refs: #11105) * Remove ``.egg`` support from pycode ``ModuleAnalyser``; Python eggs are a now-obsolete binary distribution format * #11089: Remove deprecated code in ``sphinx.builders.linkcheck``. Patch by Daniel Eades * Remove internal-only ``sphinx.locale.setlocale`` * #11247: Deprecate the legacy ``intersphinx_mapping`` format * ``sphinx.util.osutil.cd`` is deprecated in favour of ``contextlib.chdir``. * #11277: :rst:dir:`autoproperty` allows the return type to be specified as a type comment (e.g., ``# type: () -> int``). Patch by Bénédikt Tran * #10811: Autosummary: extend ``__all__`` to imported members for template rendering when option ``autosummary_ignore_module_all`` is set to ``False``. Patch by Clement Pinard * #11147: Add a ``content_offset`` parameter to ``nested_parse_with_titles()``, allowing for correct line numbers during nested parsing. Patch by Jeremy Maitin-Shepard * Update to Unicode CLDR 42 * Add a ``--jobs`` synonym for ``-j``. Patch by Hugo van Kemenade * LaTeX: a command ``\sphinxbox`` for styling text elements with a (possibly rounded) box, optional background color and shadow, has been added. See :ref:`sphinxbox`. (refs: #11224) * LaTeX: add ``\sphinxstylenotetitle``, ..., ``\sphinxstylewarningtitle``, ..., for an extra layer of mark-up freeing up ``\sphinxstrong`` for other uses. See :ref:`latex-macros`. (refs: #11267) * LaTeX: :dudir:`note`, :dudir:`hint`, :dudir:`important` and :dudir:`tip` can now each be styled as the other admonitions, i.e. possibly with a background color, individual border widths and paddings, possibly rounded corners, and optional shadow. See :ref:`additionalcss`. (refs: #11234) * LaTeX: admonitions and :dudir:`topic` (and :dudir:`contents `) directives, and not only :rst:dir:`code-block`, support ``box-decoration-break=slice``. * LaTeX: let rounded boxes support up to 4 distinct border-widths (refs: #11243) * LaTeX: new options ``noteTextColor``, ``noteTeXextras`` et al. See :ref:`additionalcss`. * LaTeX: support elliptical corners in rounded boxes. (refs: #11254) * #11150: Include source location in highlighting warnings, when lexing fails. Patch by Jeremy Maitin-Shepard * #11281: Support for :confval:`imgmath_latex` ``= 'tectonic'`` or ``= 'xelatex'``. Patch by Dimitar Dimitrov * #11109, #9643: Add :confval:`python_display_short_literal_types` option for condensed rendering of ``Literal`` types. * #11079: LaTeX: figures with align attribute may disappear and strangely impact following lists * #11093: LaTeX: fix "multiply-defined references" PDF build warnings when one or more reST labels directly precede an :rst:dir:`py:module` or :rst:dir:`automodule` directive. Patch by Bénédikt Tran (picnixz) * #11110: LaTeX: Figures go missing from latex pdf if their files have the same base name and they use a post transform. Patch by aaron-cooper * LaTeX: fix potential color leak from shadow to border of rounded boxes, if shadow color is set but border color is not * LaTeX: fix unintended 1pt upwards vertical shift of code blocks frames respective to contents (when using rounded corners) * #11235: LaTeX: added ``\color`` in topic (or admonition) contents may cause color leak to the shadow and border at a page break * #11264: LaTeX: missing space before colon after "Voir aussi" for :rst:dir:`seealso` directive in French * #11268: LaTeX: longtable with left alignment breaks out of current list indentation context in PDF. Thanks to picnixz. * #11274: LaTeX: external links are not properly escaped for ``\sphinxupquote`` compatibility * #11147: Fix source file/line number info in object description content and in other uses of ``nested_parse_with_titles``. Patch by Jeremy Maitin-Shepard. * #11192: Restore correct parallel search index building. Patch by Jeremy Maitin-Shepard * Use the new Transifex ``tx`` client * Fail testing when any Python warnings are emitted * Migrate remaining ``unittest.TestCase`` style test functions to pytest style * Remove tests that rely on setuptools - Remove alabaster-0713-compat.patch upstreamed patch. - Update intersphinx links. - Install filelock python dependency for tests. - Run tests parallel.- add sle15_python_module_pythons (jsc#PED-68)- Make calling of %{sle15modernpython} optional.- add alabaster-0713-compat.patch to fix testsuite failure with newer alabaster theme.- Update to version 6.1.3 * #11116: Reverted to previous Sphinx 5 node copying method * #11117: Reverted changes to parallel image processing from Sphinx 6.1.0 * #11119: Supress ``ValueError`` in the ``linkcheck`` builder- Update to version 6.1.2 * #11101: LaTeX: div.topic_padding key of sphinxsetup documented at 5.1.0 was implemented with name topic_padding * #11099: LaTeX: shadowrule key of sphinxsetup causes PDF build to crash since Sphinx 5.1.0 * #11096: LaTeX: shadowsize key of sphinxsetup causes PDF build to crash since Sphinx 5.1.0 * #11095: LaTeX: shadow of topic and contents boxes not in page margin since Sphinx 5.1.0 * #11100: Fix copying images when running under parallel mode. - Disable test_copy_images tests as they need an internet access.- Update to version 6.1.1 * #11091: Fix ``util.nodes.apply_source_workaround`` for ``literal_block`` nodes with no source information in the node or the node's parents. * Adopted the `Ruff`_ code linter. .. _Ruff: https://github.com/charliermarsh/ruff * #10979: gettext: Removed support for pluralisation in ``get_translation``. This was unused and complicated other changes to ``sphinx.locale``. * ``sphinx.util`` functions: * Renamed ``sphinx.util.typing.stringify()`` to ``sphinx.util.typing.stringify_annotation()`` * Moved ``sphinx.util.xmlname_checker()`` to ``sphinx.builders.epub3._XML_NAME_PATTERN`` Moved to ``sphinx.util.display``: * ``sphinx.util.status_iterator`` * ``sphinx.util.display_chunk`` * ``sphinx.util.SkipProgressMessage`` * ``sphinx.util.progress_message`` Moved to ``sphinx.util.http_date``: * ``sphinx.util.epoch_to_rfc1123`` * ``sphinx.util.rfc1123_to_epoch`` Moved to ``sphinx.util.exceptions``: * ``sphinx.util.save_traceback`` * ``sphinx.util.format_exception_cut_frames`` * Cache doctrees in the build environment during the writing phase. * Make all writing phase tasks support parallel execution. * #11072: Use PEP 604 (``X | Y``) display conventions for ``typing.Optional`` and ``typing.Optional`` types within the Python domain and autodoc. * #10700: autodoc: Document ``typing.NewType()`` types as classes rather than 'data'. * Cache doctrees between the reading and writing phases. * #10962: HTML: Fix the multi-word key name lookup table. * Fixed support for Python 3.12 alpha 3 (changes in the ``enum`` module). * #11069: HTML Theme: Removed outdated "shortcut" link relation keyword. * #10952: Properly terminate parallel processes on programme interuption. * #10988: Speed up ``TocTree.resolve()`` through more efficient copying. * #6744: LaTeX: support for seealso directive should be via an environment to allow styling. * #11074: LaTeX: Can't change sphinxnote to use sphinxheavybox starting with 5.1.0 * Require Pygments 2.13 or later. * #10944: imgmath: Fix resolving image paths for files in nested folders.- Add pygments-2.14.patch in order to fix Pygments tests after the 2.14 release. gh#sphinx-doc/sphinx#11067- Update to version 6.0.0 * #10468: Drop Python 3.6 support * #10470: Drop Python 3.7, Docutils 0.14, Docutils 0.15, Docutils 0.16, and Docutils 0.17 support. Patch by Adam Turner * #7405: Removed the jQuery and underscore.js JavaScript frameworks. These frameworks are no longer be automatically injected into themes from Sphinx 6.0. If you develop a theme or extension that uses the ``jQuery``, ``$``, or ``$u`` global objects, you need to update your JavaScript to modern standards, or use the mitigation below. The first option is to use the sphinxcontrib.jquery_ extension, which has been developed by the Sphinx team and contributors. To use this, add ``sphinxcontrib.jquery`` to the ``extensions`` list in ``conf.py``, or call ``app.setup_extension("sphinxcontrib.jquery")`` if you develop a Sphinx theme or extension. The second option is to manually ensure that the frameworks are present. To re-add jQuery and underscore.js, you will need to copy ``jquery.js`` and ``underscore.js`` from `the Sphinx repository`_ to your ``static`` directory, and add the following to your ``layout.html``: .. code-block:: html+jinja {%- block scripts %} {{ super() }} {%- endblock %} .. _sphinxcontrib.jquery: https://github.com/sphinx-contrib/jquery/ Patch by Adam Turner. * #10471, #10565: Removed deprecated APIs scheduled for removal in Sphinx 6.0. See :ref:`dev-deprecated-apis` for details. Patch by Adam Turner. * #10901: C Domain: Remove support for parsing pre-v3 style type directives and roles. Also remove associated configuration variables ``c_allow_pre_v3`` and ``c_warn_on_allowed_pre_v3``. Patch by Adam Turner. * #10924: LaTeX: adopt better looking defaults for tables and code-blocks. See :confval:`latex_table_style` and the ``pre_border-radius`` and ``pre_background-TeXcolor`` :ref:`additionalcss` for the former defaults and how to re-enact them if desired. * #10984: LaTeX: Document :confval:`latex_additional_files` behavior for files with ``.tex`` extension.- Update to version 5.3.0 * #10759: LaTeX: add :confval:`latex_table_style` and support the ``'booktabs'``, ``'borderless'``, and ``'colorrows'`` styles. (thanks to Stefan Wiehler for initial pull requests #6666, #6671) * #10840: One can cross-reference including an option value like ``:option:`--module=foobar```, ``:option:`--module[=foobar]``` or ``:option:`--module foobar```. Patch by Martin Liska. * #10881: autosectionlabel: Record the generated section label to the debug log. * #10268: Correctly URI-escape image filenames. * #10887: domains: Allow sections in all the content of all object description directives (e.g. :rst:dir:`py:function`). Patch by Adam Turner- BuildRequires just flit-core instead of flit- Update to version 5.2.3 * #10878: Fix base64 image embedding in sphinx.ext.imgmath * #10886: Add :nocontentsentry: flag and global domain table of contents entry control option. Patch by Adam Turner- Update to version 5.2.2 * #10872: Restore link targets for autodoc modules to the top of content. Patch by Dominic Davis-Foster.- Update to version 5.2.1 * #10861: Always normalise the ``pycon3`` lexer to ``pycon``. * Fix using ``sphinx.ext.autosummary`` with modules containing titles in the module-level docstring. - Remove unneeded spec hunks.- Update to version 5.2.0 * #10356: Sphinx now uses declarative metadata with pyproject.toml to create packages, using PyPA’s build project as a build backend. Patch by Adam Turner. * #10286: C++, support requires clauses not just between the template parameter lists and the declaration. * #10755: linkcheck: Check the source URL of raw directives that use the url option. * #10781: Allow ref role to be used with definitions and fields. * #10717: HTML Search: Increase priority for full title and subtitle matches in search results * #10718: HTML Search: Save search result score to the HTML element for debugging * #10673: Make toctree accept ‘genindex’, ‘modindex’ and ‘search’ docnames * #6316, #10804: Add domain objects to the table of contents. Patch by Adam Turner * #6692: HTML Search: Include explicit index directive index entries in the search index and search results. Patch by Adam Turner * #10816: imgmath: Allow embedding images in HTML as base64 * #10257: C++, ensure consistent non-specialization template argument representation. * #10729: C++, fix parsing of certain non-type template parameter packs. * #10715: Revert #10520: “Fix” use of sidebar classes in agogo.css_t- Update to version 5.1.1 * #10701: Fix ValueError in the new ``deque`` based ``sphinx.ext.napolean`` iterator implementation. * #10702: Restore compatability with third-party builders.- Update to version 5.1.0 * #10656: Support `Docutils 0.19`_. Patch by Adam Turner. * #10467: Deprecated ``sphinx.util.stemmer`` in favour of ``snowballstemmer``. Patch by Adam Turner. * #9856: Deprecated ``sphinx.ext.napoleon.iterators``. * #10444: html theme: Allow specifying multiple CSS files through the ``stylesheet`` setting in ``theme.conf`` or by setting ``html_style`` to an iterable of strings. * #10366: std domain: Add support for emphasising placeholders in :rst:dir:`option` directives through a new :confval:`option_emphasise_placeholders` configuration option. * #10439: std domain: Use the repr of some variables when displaying warnings, making whitespace issues easier to identify. * #10571: quickstart: Reduce content in the generated ``conf.py`` file. Patch by Pradyun Gedam. * #10648: LaTeX: CSS-named-alike additional :ref:`'sphinxsetup' ` keys allow to configure four separate border-widths, four paddings, four corner radii, a shadow (possibly inset), colours for border, background, shadow for each of the code-block, topic, attention, caution, danger, error and warning directives. * #10655: LaTeX: Explain non-standard encoding in LatinRules.xdy * #10599: HTML Theme: Wrap consecutive footnotes in an ``