openmpi_2_1_6-gnu-hpc-docs-2.1.6-150500.24.2.1<>,LfZp9|d;?d# 1 d %?X^h  :  #  / hq(859x5:5F#G$H.I9,X;Y;\<]F^ybzczd{Fe{Kf{Nl{Pu{dv zSdhnCopenmpi_2_1_6-gnu-hpc-docs2.1.6150500.24.2.1Documentation for Open MPI/SHMEM HPC version 2.1.6OpenMPI is an implementation of the Message Passing Interface, a standardized API typically used for parallel and/or distributed computing. OpenMPI is the merged result of four prior implementations where the team found for them to excel in one or more areas, such as latency or throughput. OpenMPI also includes an implementation of the OpenSHMEM parallel programming API, which is a Partitioned Global Address Space (PGAS) abstraction layer providing inter-process communication using one-sided communication techniques. This subpackage provides the documentation for Open MPI/OpenSHMEM.fZh01-ch4d|SUSE Linux Enterprise 15SUSE LLC BSD-3-Clausehttps://www.suse.com/Development/Documentationhttp://www.open-mpi.org/linuxx86_64ק ק :   :  [ק ,$ק Bק#i c m {   L ( a  & @, 1 DF T   [ 7 S ]g + c    M6 3:  Z< y  ^s2 *z~   K 3 * *h :=& M @ ^  i  ~ sm <R TM  j1@5 e v   kF{ !V^ " ~ , O tJ   i"#!""8   r  GS  <$   T L8?s # {  N D^, 3+J j +k#!s e X 3 t "/# t JQ#$ #M%C~ Q) P k  Z ~ l$ k /  r } }{M   rg SD:F   @ f |d L E!f c E#"#"""#"""#"!H" +n""!#$""""!#"""#"""!#"jd c#s#[f') {    @AAA큤A큤f1f>f;f;f;f;f=f;f;f;f=f0f0f0f0f0f0f;f+f0f0f0f0f0f0f0f0f=f=f=f=f=f=f=f=f>f6f1f6f6f6f6f6f6f6f6f6f6f6f6f6f6f6f6f6f6f6f6f6f6f6f6f6f6f6f6f6f6f6f6f6f6f6f6f6f6f6f6f6f6f6f6f6f6f6f6f6f6f6f6f6f6f6f6f6f6f6f6f6f6f6f6f6f6f6f6f6f6f6f6f6f6f6f6f6f6f6f6f6f6f6f6f6f6f6f6f6f6f6f6f6f6f6f6f6f6f6f6f6f6f6f6f6f6f6f6f6f6f6f6f6f6f6f6f6f6f6f6f6f6f6f6f6f6f6f6f6f6f6f6f6f6f6f6f6f6f6f6f6f6f6f6f6f6f6f6f6f6f6f6f6f6f6f6f6f6f6f6f6f6f6f6f6f6f6f6f6f6f6f6f6f6f6f6f6f6f6f6f6f6f6f6f6f6f6f6f6f6f6f6f6f6f6f6f6f6f6f6f6f6f6f6f6f6f6f6f6f6f6f6f6f6f6f6f6f6f6f6f6f6f6f6f6f6f6f6f6f6f6f6f6f6f6f6f6f6f6f6f6f6f6f6f6f6f6f6f6f6f6f6f6f6f6f6f6f6f6f6f6f6f6f6f6f6f6f6f6f6f6f6f6f6f6f6f6f6f6f6f6f6f6f6f6f6f6f6f6f6f6f6f6f6f6f6f6f6f6f6f6f6f6f6f6f6f6f6f6f6f6f6f6f6f6f6f6f6f6f6f6f6f6f6f6f6f6f6f6f6f6f6f6f6f6f6f6f6f6f6f6f6f6f6f6f6f6f6f6f6f6f6f6f6f6f6f6f6f6f6f6f6f6f6f6f6f6f6f6f6f6f6f6f6f6f6f6f6f6f6f6f6f6f6f6f6f6f6f6f6f6f6f6f6f6f6f6f6f6f6f6f6f6f6f6f6f6f6f6f6f6f6f6f6f1f6f=f=f=f=f=f=f=f=f=f=f=f=f=f=f=f=f=f=f=f=f=f=f=f=f=f=f=f=f=f=f=f=f=f=f=f=f=f=f=f=f=f=f=f=f=f=f=f=f=f=f=f=f=f=f=f=f=f=f=f=f=f=f=f=f=f=f=f=f=f=f=f=f=f=f=f=f=f=f=f=f=f=f=f=f=f=f=f=f=f=f=f=f=f=f=f=f=f=f=f=f=f=f=f=f=f=f=f=f=f=f=f=f=f=f=f=f=f=f=f=f=f=f=f=f=f=f=f=f=f=f=f=f=f=f=f=f=f=f=f=f=f=f=f=f=f=f=f=f=f=f=f=f=f=f=f=f=f=f=f=f=f=f=f=f=f=f=f=f=f=f=f=f=f=f=f=f=f=f=f=f=f=f=f=f=f=f=f=f=f=f=f=f=f=f=f=f=f=f=f=f=f=f=f=f=f=f=f=f=f=f=f=f=f=f=f=f=f=f/f+f/05883115636bbadccb6d58f0aad15e7b7848ec0c2514399039fff38d4f17a5f940c138448b6bf74b81ddb0edcd167907698ecfb4c326012c6518ed40674fb48a08761d8ba3bed33bb374c6233e71a295496e0807f0ad46f34fece318f989a0dbdaede88e8d744f5f30847b69516c77dcca9ab12a3ef5524d91002becaad02ce1f2ed06000718702bf938f16259f49e098b9974f9f8f514cf5f9c6279dd896a18f2ed06000718702bf938f16259f49e098b9974f9f8f514cf5f9c6279dd896a1890159301a653ebde157627d7b5b18241aa0c363d6f5a1f19af581634cd2d6f41daede88e8d744f5f30847b69516c77dcca9ab12a3ef5524d91002becaad02ce12d3f1f29dd0aa2b95a0b6b2d45cc5848c580dd2a58aef59c21f2a3007aece76bfda9d3ac9416dacdfe369b53db989d0e7fdaf09514c3092c5751ff0fab8a0e36d1093f5c031aacf6a02610b3bdd399c6050ae45b647c12ddb0403065b850df5c7f1b559de8388fc8b166184e1ac709867d2a744e2b42da0e73f6ae306b4d05ce074814286e7e160f0b3a8d553c49d807d146f88a4e857d66c9478a9b035f17fcc6b2e384bd064c6cc22c918ee2ffb27d408ca88b66e88268489e771ab2c93bf58505055cc20df27f3c7896eff3b3f9e1b5874cded4e86d524246f3a6dca19e454126fb12cf19aecd3e4f7504cbbed6c663707874ed4b6f7a625bd5e683189cbb2d3f1f29dd0aa2b95a0b6b2d45cc5848c580dd2a58aef59c21f2a3007aece76bfda9d3ac9416dacdfe369b53db989d0e7fdaf09514c3092c5751ff0fab8a0e363efc408f6c50771e30fc6143d894ccc2da60c2f33a4c9144802b3c5f95e696b8d1093f5c031aacf6a02610b3bdd399c6050ae45b647c12ddb0403065b850df5c7f1b559de8388fc8b166184e1ac709867d2a744e2b42da0e73f6ae306b4d05ce074814286e7e160f0b3a8d553c49d807d146f88a4e857d66c9478a9b035f17fcc6b2e384bd064c6cc22c918ee2ffb27d408ca88b66e88268489e771ab2c93bf518669d553fd7c7e13272ec2bd89b8627d9e812dc8ff9916c34e5bc8e35257208daede88e8d744f5f30847b69516c77dcca9ab12a3ef5524d91002becaad02ce1768bec9cc030138bfcad9d001e6ca5ac4e56444c94e0d73d6ca8482d8c21ee785de59fa1b616ffb14937e472d0e777e180be04ee8d1e53dfaefd4642c1170d2ebff68902606319ba84c5b299d85e43b06138348e6f3b0feaa266a836c35a620ddaede88e8d744f5f30847b69516c77dcca9ab12a3ef5524d91002becaad02ce1887ea9bf0b1df3eb628d42ec15e6075207e0d43b545b2217c4436f2cda74eb13afdb93e5005a60ebc3af495d763d4c314ad303043e49d09bff3b27df8c59b512daede88e8d744f5f30847b69516c77dcca9ab12a3ef5524d91002becaad02ce16a368eb54a479364dabb7e0b34e3917a2dcaf1b850fa4dc29083b5810cea3d70cb410db3ce498a1768577a6956c5399eb56867b62072a2176493dfa5aad3efc3c95209b368b88781ae7833ba4e26ae853ee338361db26202c26494a2c1cc75dfe9019d1de82bf88c094719ba5e23300fdaf74271661303acf2ea65f5d9aa863f8ee8414f904ab5306fe404c6c2968116f3428dd69ffc1b31d4d1a890ba4e886bedbe9577ffc842f1f5fe1e4a944a6d377bbfa929b009ef45f636b8c3aa67a5221a81cfbe6d62602acd494f545829b55ab4013a67bc48e56e37b5abe144567ade5d9fa459d13f7cbbaeaafac1c66fb3c7aacab938aa26a2cde989ef04427bc35fd814391daf7dd9f24cdb7323108ed1376709a1290c0f793b29c9b2b77184e502db4dcf0a4be173ceaa3d1cfc79f6944c9a918b30d9f6e54e6e9d2f415e6b7835b60df63667edaea65042c9c06151d2a0741bcb00c8c67f81779797edab27a6490f6b686239e763542a63085e4fd73971a5521678a15e9439ec6558e6cea59630949166e63459d489620aade3f7e3dbefbf3484964a937d4a16986f8e7ec217443febe731f3c71af8839712eef993d9e8df2b1f406238112e11a9a425d206e59fe3ca6715f945e73ca591c72ffb55a0b75cf5f09a75e58aca4eff47d41ad1d1e19b3b58f46c74e40139f336bd543a0e24f9c98f0b1fb872fea1d2a90bdac141a77bb189b1d145594fca824082a67e570bbaa6ceb91e66c663ed4352bc63396e6a3d558600ff1fbdb21f19f8ef585d26a869a1ee9bf4340234a0c4b3b96bbb969ff721e76154c182fdde4cee244cf5b0f7d6f1f294aa8f1c7233a1f126e44c8eaa73a99a9b360014747d48dfc719a3de05463ce0b019408847ba82cb6d5bf32d674997383e4937ee0f6f5b1b2079dd09244245eb77b837715fd09235bf540139db0b6611a340f8b1cbcc08d55984ff93d27dc944139d6b1b92a53eab99d17088d8f300ef5aaa815dfbc5786e7183c0740a6c1de0cd569ab23023ccf92517bddef4a1c8eacccefe151d7a5827001ffc35c0779781b13df7012b779f484ec8af2b637b9676ca9b971030fc8e9c8c7f176a7e338b701dd997c631361cd64cc3885aa7e7c3b7c2fe56ba72fe2a310f9b2d2ea18b67962cddcb21c816a7cdd18f0eb4cdfc8c1f482373a4a84ba42cbf92455618ec8a0c6af41066b9cad5cc0c4dadf020bf00e74c7d0679c3fe059cfa860398f5ce164342b84087bec607939dd0b4f5c3bd6b1f2de6f16377c5a8eaeabab5aa9be9441fc310c493340650349947fa3febfc6fcfcc584082b5a953cb492f5b2a48eb8757caf74a88c68fe40a95d80d8aa5063b1598592ee9beb484c7928c53ad97e9e291c619f757b86f783f9f93b0af5fb437a7a71f82edf60625133a9d32ebeb905160b3dcf3905d3d6ee4fa1087864eab99770908e5dd3064ccf11ba5ee180bf0c8e2c976fef933fee442237ddac742c4ee99fc34f3b66bff16f831c49f7200cb72dd5c86f55306d791481aca54c908b405a52fe2f76e583f7c3fb1c6c812ebcfcca85c9590ae8caa5457d1dfeb81cce863b2a5be7fa888026140e90b4e0e7dcbf1f07917dca92b9feff4fa679cfb1cf53c665806bd5f5e7b346da2f30f9a90a2bce3b4b7b3231b37fdf65299d696f6bf94917bbbe164c53e862ab338b0048280bfa67bbf66f6c97c3010d0ea37304aceca284055cb9809deef5b202ffdc62cbc40575530fa7760b4f2c83371cc89734f81bbe959cedf8cf5210a1fcd87e3eed330240276de4b116af1c894c5f9395aecd0ba6e4eb352cb46adc87d242e94ac3e6fa8d866fae98a7ce1416908e708ded3a68c527f0c7f42a1668cde3817ca68b4e281c15aebc0fd8e5550ce2ab85fe4de445f816976a4c839989171d95b0a43f5b6ce570a2a96f43adc7b13e7663fbc041b49c056f41e2eacdcb6c0830f0d3ab80409deb0a3c833028801414683003973a6c9da3e977c860eebc51f43adde97c9fde49e38bd6ee46810a48b7fe7e63cbba5cca49c015748f47722132310d690fc8f997a2ab3d9da305314afefc597138e87d6c5442b326f4f0431781af968378418327e293adeaf1d566935b008b3c87c0a2ce6311c1ca03aea9d51cb89a82e4e5d96f297163c613e28ab46f0f8e0bd5a0b8640379997f2ad97946e419d9d609638bb19e920437d4c26825d7da2cfd7cc2fc2dcde7cb71ec7722ed37a06e16bc34a7a4785382ea153519b7bf0c63d24280548857058f9a8d12b03d1a678ffc3aa0262c09f1bf39aea5b6b7fe4eb38544ebc853aced8db3665c0293321adf5be788b8e047d69ccbbb9d24e2f45d7b84e2f04aa7c5b1f9dc1a26452ce07f8b60b49ac4494b31bcd7351494bf993a8cf64a915c4a60971f70b80fe99d89c81ebbd8ee5c7ee784f8155c11399a90172337579bb77464e53334ba8dd96e218cd7466bbe299638aa16a7a0a39ab7efcc76c93e0ea3e511e2f8d553f065d54175ab9b7e05d1196644f72cb18d0b20d72ee3e344da553fcd54b45e98377ed757c8c5674f7d843f31a20fdee98f40f514ddc2970bd707819f3ff6f3387e95c00eee50406c273c61d8f9704fbbf4d1d0cb760941610ba7a29d0870a04d46da3f896245ee1bf3e72f2308c76f11eeb133addccf051d1c3c60067524b9b66cc5e6c7e1801a53dddd098d60bd283b9acb269dce8a7bd8df053d9db4b7da020fc53c6b17480be76715bc1e08b9809620aa6dabde93725c09971e4aa7eb25e70f294b5820f554097c64c3190f8e4e26838cb0783260006c083c0e06dff5263b1f29034a813bfd5ad9f8b8d77030d3ecab8c1cfeaf1e78b33d474a65fa920e54f57b7a6b939e2ff22f7081ee2da03009a87c70a9524514441a6c3fc7952591b0ad695d3a979fb3b2b2001c60907b1844c7aa33a5ac12e731b2f1c961bc15723e52aa220a79ca4f0065d104d7255d2d06dff837f3221d1a3b1568671575d66fb9370eac249b3f0b44683f84d01adf50fa0fd3e37b45ed60ac21ed1aef2304816bfb7dc34612610cbec3daf311527c9aed054ab32cdf09be5939689bcec923185aab7bcaf7439cf3f4ccd4ee3680bbb6102920a386636d19065ef8132331d3265fc19121cec489c322ac7f0adb74bccac8d97ad62ce1b001bcd6ff4594127fdd5304c69f80af9567bcced5edf70d7b246499fe5c0c145b3fc9a26783f181f1a3004c17f2a0533887392c09f1d5f2ba185760639bb022b8d9480b960c0ea5f0a099cbee1b53b8ec12840ee4d7ac9e6b652bef1101e47d83c47a615384ce223a7c1a4a78633057565554073c0a4a1fac5abb492c40e65c8c7b04a355d96f945ca631aef1c2ce7b28befed553c2c0de325215d2869a4fd00e927851dd5c130ed2ce70ab2fa21730492ddb0e50893233ecbf0ccdafeb07c4e20ef7e53ffb27b81ec50dd17df74d62ee01e162c7045794e0e397ae64da916569691021c75cacc509acca1445f14413955e6c4d36fd24532a3461bd605490ea022d68b31a9aaf39f5d9790f11ec8a2a3c6ecc9315ca5ff02283958c2fa4a7d25ed078c6bf33c98cc8a10cfc9ff2e1b861f0f5266efe360f7ece323cf1bd35506769e80193b5592142d8fb93fdf6d7708db0834dabb4315e8e06c3a5156397614708e63ab2327f264e226345677a897307214f14f9926432d122c7af446daa97e9b5a55c86aa7fbeb3c8afeb3103a4e879143bab154ab76af4a156198a3d3254af2a94310b7db8b24cadd3bfa2946fd5691dc2e2cafc64fa461a4004a4b89e8493a11f38c4eae2c9d4aabe240f54f842f82d910f8225e454cc0be5e2fd8acabf377d6a596247cf2e3ef650606a0f5bd3766b396a90127b84ab851be01cc7d964a58991a0290100fc88016daa89be26e7dcc68e496e79f79d8c239f244717cc08a2b80bf94917bbbe164c53e862ab338b0048280bfa67bbf66f6c97c3010d0ea37304a608dabb866898abaec7af584843b81ad7279f9c5aaff0b0fc4157a21c0b2caef02e05b6d79d3b13441e68df927558ad1eaf184198eacedf186a6771250599694d05d5e7b57b295f983471f95ffd9b81aaf904cf7728ee23b8fdf3068280b94927e44acffad9c3262e420f3b0eeb87310a2794409141fc790bb2c5dfa345bc91e112000e8e6ccb76ea881d9c249f2887e6c789b619de59898326729b8c622f1b9acf619f4240b7874066478cff90f1383d89d01e6d178db4b53aa5e05aa2c182c6d561e50c2ff976db74973b8dba3dc99145eba4f5a060d0934e84d3f1554ab3bf2b789756e8ecc431adefd864a9371c2b79027643a61f36f9422009d9e3b362281ee029012cd0ad9e0c8652850e88e83424175f3fb079cca2bb43b05dc820cefbee1eb410ed9dfe34cc0b3b4ccb1846a15afa02e95245ec0abb56742a1faf49456e0105ed5fdba91297904a68d47275a6641fa0d50a3b8178df58068a8e9e3bfda043357336988f5239e9862a2f323ebd74e11ff9a1f0f7b51f03a5a73d1adeaa4a7e9f8078077a0f389c26070bde4ca5121cd71d238527264c3b33e181dc5aa0316d057d207d2ffd7ff987f8cdd7640ed94bf14bf4f079bbd8986d226f487adf328191d49f7e43b0f9cb16a441f9e6a3c49e2ed12ea7bd1af09b7535c28ff2615fe99e8afb6e32a4bc087f6bb68fdbe24f95537a952280199fc76e10a1596c3f144cc2eee69cdbcc4febc998d42d2691de394d590a60e197f07f135de4c86dbb3cdc18c90598ea720432f228893241eef777ee52cf98639b246ccd8ee7d402bfa1f6793e2969be1493953f2034a82a0e36af31933c36657ebc0c6274dbcec4b686a257122aa513ce543211e678731b8ca0ec8b9ecd09f2934240456b81781bc0503b418589f2a12b58121f753e8b3c8cc1a8c26d8beaac4b123245739136f10d756f8f9e062da3d20fd2fa18fccb1d7720f10ed6d37714e8b4f03b607d80de3fc9532d3b3edd479c258df3603f7ac015d77f693af40a8520460591a634404fb486c28b686e1bebaa50d3fc095288215abe838dd52ac6877708765a9f58ed1833bb8edde822c3af8098563a7395e10891a69b6c380427e8c9577ead8112a4eae97ae9baf9855f29670a76a649ee9341ef36a7d4c9d7a45087786c4c07964aa222d8487a28c6bd3c2157cb09d2c625960c87acc15a9303fef267c06024a39a8ea4009606587d2e6a36e714ccc9286506daab19cf89f6af9168c23bcc16baa529f0e199ed054c604aa28ea13972e6860518c320e0ce33b32437be7edcd1d459037e56a06fcb0435ee3e3faa1737b8b84a989b42e7d005cbdd4c03a071faf434ebb5dcab81390e79b1fe481f06d9f5448a6609f6655b69612e4703fd41ea03e6ab2b9d27141632f8c5e97d430e04020ae1c4437712a4a7a8737c597e2f217a35e1a2f56664c63ae7eaa652343fdc96d7942dd2212fbc1e9e712414a9af58182a5b287ef6f8b75b9c712a574d08a300366dd5c083434a99c7f85f004fcce6fecafb08d66ad845e3287de1b072e0e1b8167844cd82eeb33530d46a6022caa01e865ac0c2204ef76a90f0d490262514bc326446d53e805edcf8ed1228fa22a3a200fddff8c91ab09454d994e6d9b6860427d7e6fdd6e3e2eb1f2c06cd9a3822a4c95a639faa4dfb1bf6f49884eb7e6dc01dee08bbc45ad1aebcdadea1cb52518ab860eb4b28241753986a56be24d947abd1d7e0b8b66eaaccd151cde3f40d32368670ec851d31d836f3a2262cafa822bb86223421f47ee2409f1792900de7cb3e6f44b125833d420f8c4f51d20f153728f71fec8cd7558ac98e302d30eac71d42730510a9decaf89701efcf2bd5322e749700ad9eecd84fb743163de408043791bd8ef10236999ef9ff575a3aaf02430fde4e454425b4ff4448ecdb042a8d53866d57c74fd02d5a977e201fa714d72a81ceb90f51a4dee5952b06305d36d0fc2ae1cf2843aaf509173facc36fa8f937caa698f02252428734644a818a5dd66d41baafaccd4b710b89a08870b0495e8cfd58036463501b923788d5a597a6cab34ad4522e5d27b7b7aec1a771e422598f7f9213f0f4891e92026745f1c162329c54d52d0d4ac0f31ccd14740583fe413c192012a30d4963eb58e00ebd84ef2ac0add457bfdbacfefbe22c954c5764968004a36786bd6ca0defab5e84289c911055fa8b9e632f65b5d7200d092936524db0ce0202b88bf7334860d35a62a6c85489aa50a83dd92e5da6eeae791bb16f709e3b5c31bf297b1cb670fd9b2946ed50d143e100b7c9a1e6666249fa4f16eafeb512d817ad9086e0a19d606a197863e16a2eba09e6413503fbc6961169b3b97286db14c4b22689ce727efa95bdb90b84518d96869234b8bc41cf750e641f916e30fa7f1f212fe7ee96539a943db88b103b8b8284dabf510eadc726de7dc0c06fea156d3212c4f641cb3e0b3644ffe2dcf1d8ff95769f2ad44eeead18c0b8272b6a4b044927bf9d75e8fc7db1154f6c1827c37c98f0ab75c86f2964f9c60f7d2242215aaff6e61713c895deb7cabe1e3b491966b2135914453fadf84756cc3602afc4d644915ad2d42723b0e5c8af3a25690dc9572b48f3b65c01a437c941259363f838f0edddf38a78370d9f91febb8da5a4807f6267a5f6500c0348d6724c77f64df6d7d0e0f42d7a5892b0f9027695d331ac8f478a92d08e820021e0485bab0866d2b0fd78a8cec2866bcfadd61be5b238b509f890f3c46adcfa5dbf417fa55be435cfbce4d37d798ef0929f6ca3207b8118908e672906bc70c22b596707070a7d996031f004726013a32a44a87b8b4bcd14dc69bd9fd4df597d464f6961e173825f8f1a11483f1df42c63c2156565cf45d6597639f4733a621472944700df135b32420c59e31c87ff7f9636dd37eef863536f0a180d7420482a6e23b3ca1762ecdae2a89d9d3b3a91315b22f4b214794aa1a96d84c529d8614e9ba45ba8d37d7a9101a7f82ccde0f43254bfee90ad2b35f0a3ba87a3aadecc9b72c9abefbc1f2d6933a87529ba9fba1ec325059ce889eddf8e99a183c893f250a8dd042c66c346319f502fe4e7b2d8cfdb6aa759559d27b72281d63987b1ec25f52d35391276b3e1c5be4281e83e1391e5d8b47576e8626e7e6c444918851a10f98be8d91142cba0135b54bc62b0af412f7bf5fd2c35bb5b4090bd3e7b4419f32df0ee79ff4c4c47348d7f2bf2802315d8ea142a4d7e0386078208f94701c520d36dc3110fe49a9bd0af84917f305f3a511e0157c4c7f5126bfe07003b80bd348c1bed0b838aee957070f4d139e9a4f924b9c54d046966d50f7d1cafb5c9906a338437682ff8a56340c2e676738c39927dd62ec5318a68ff162328d295b91af9d9039994f620f78402f5c5de98f4d73b53be086630d06a1f08167c058ce10775d093d3b05cec7d2d5355a4e27f2b3f82faaf8efe058d22794db941dd53a0463f78ccc64355b65c124743a03002731da451627bbe290ca244e833247949406de2a3696fc018df83193ae49c745157863f2faaeb569d9ece1e5c999f478a8234e5f9652a46aa9d7a76674129afaf4c4252e41f10b74d16ba6cb1e94db9290caefa54de54ec6a7664ac8d826e30d451e3d511dbec7d128c03653f1b8d6e0ae32a666ab3c5e8f7c83b043cefd27cbaf102d393d7ce9986dd9dc29fbf94917bbbe164c53e862ab338b0048280bfa67bbf66f6c97c3010d0ea37304a2d1f779f870441363c880636b81ee311b91b3d3b1c7ddc3f068335285349319d49f58cc35af208381bf19085ae356da1945b8fac6ad74c43f621ba7e5ecaa00c37d5c0372680148c8232ab9c28c6a24af57f0f4ba470a0bf98cb9cce8870d5c9bf94917bbbe164c53e862ab338b0048280bfa67bbf66f6c97c3010d0ea37304a1c98a5e65d6cbc86ce35b6eb9c67de63e0aa2678b0f3c993960cafefb22d867c3c46c4ecce7e17952ba2f476dba25a8da1354bf8e2c859d18e491d4bd8646e0b9aca6dd212d18a921bb52bd9ce79bed5354b16ab1155d5020a4413bcbf8b52ddfa5e8b90e6d79f9ca23c15f05ae3d38be37dae14740432b43758a3a7d283bc94c839f32774eae97734a4793544deb69f12eaa3658a1b131cd3d88e1677bc6579b1d136edc7aee6bbe1286faf49eb9dba6bd180ec2335d786c94d3d8be306f76f59a54371c1b114f57e0a0a91afb4c741660b3854470805e9f367020252f4ae3d60be7c818cfff76a22233dd676197b8d4190742ba75b8f6c39a84a2daea8b239c133b205e731f86c1d4e2898444596a238550379be8433feaf03e1a38be2e380725f5b45d9651d65c63a4a27a511882096bf3323b2bdc620cd1569f3d1893e57048d68e6be2f9d3da364c2bec9b2015a1c0ae072e085690d912b4b9520a2b66fa5f4283ab0e07d746e2c0b27ea36afefeb3362d50b901a85b24da969884b12df0662ed21fa5d69bb42ce7c62b025457afea1abdfbc15179f3c36eedbfc7bf71291bf1eea04d35d1ae9042f5bba91c6609b153ff178293b37c781dc1992542ab8a78b8e93442df355d38c39a1d099eaaa152b96006f3b57299b0dcbd665ee4219f991abf5af6c263744a6f1f75ebbd0a711b315cb0182b44448294d46b00cea375e828656b6f73790b9c4cc7c2a5348b77e35a9b821f0a375c8d21d8b430c0e0e16ec8854788390de67d7738b7180edfc85ecd87b93ba2573f6a6336467e4ece6d6c0edcac7db5501636ca56e50900372990ef15b777af99e8fac286300db01850bc5489ae83d5ef9151262c7c0bdb113fb390434ee9c8266ef9696473e1fbdaf97af386cf8cd3135c88b36a9c10054dceea4fbf49c3be36c5a749cd31f71b3aa7f26eab17de7729271337e0ac181b9e0f58a1b2c22a7b724362c98bb5a5164388a271a8d9eab696971e7e076843588c95e8eb72bba625b1c7fc1ed5f1771c26dad6d89996ca5c9659a1d4409358ccc27552dab4e212c3722106d9cd47d1bc1275a945d7aadd1673bdd577c9e7118636a7164731ceb930d2433b892d45af1595a2be1ab5265403c76466388fbbc0c09bd6bc7e34cde2363bb4d25382f6d5fb9c20a9546e47f9bebaaa52ad2fd8b7f47483353c222fffcc67b0afbf5613485b1e933bef6044c873ad4bf59c4cd896eed7673a9092ebb0c1abc0bcfe250f33a5bbabf94917bbbe164c53e862ab338b0048280bfa67bbf66f6c97c3010d0ea37304a63cd70c8d975a32da5d5516ba515a3d70eb79698b7b240b6347965a4c4e255e521c648f839b58477cee2f95dc189397fefd8d4c844ef30174fd20453fd1f9fa95cb624af11f759f3f051232410307e2588c5c4eb60ad87860be0edc1ec8dff1a3ecbe97e1c4202c98e77031f1fbda15722a615304e409f09618c9b3b89fcfcc0bf94917bbbe164c53e862ab338b0048280bfa67bbf66f6c97c3010d0ea37304acda74061efed0770bd26615181834dd5a9595356bf5b067031f32750a709a770b81cc09f2c9796b3b1404c29db2fd594793de2b5b0d3149205d4299069bdae0eb40bcf5562c814b7717a3ca2e647517977ac1922845b6ef6720224819342cac9feaf40c1b56c7f7ba286a0e008efe1fef27500a0e4acc03004825414d5fae92fe903ac42554a88b7ee1f79995e829f019056b5a64ea0111ddfad08c03921a75d6cab6d7c72ea73b8f99c43aca126582ca2c96e9838adf0a5dd2b7ce8f303858b29b037469b5f1c53252b801f43dec543703d68743d9ab797471b2040c73bf628d83e261b604ac00393911090162bfa2bb0a4bb3a06fb749d4272512f39c9d52e8af0a77963dddbdd35c1c0cdc66f69b877ad7c47e8fed08a75f35023678711d8caf98680c2bfcc1572be084f03ea5c8e988f515b8d3397cac2aea069df09fc079456ed58690ac0c34ca7b07a4ae4d690e45b18d1c7c2c14f407ed9d1a121bb78783b1d0bb77c6d424c69c652e72c0e13ae295e4961265204bc147238ed5f39b3afd16f83e21b185665afa9179d15529d828d06a1d329e9e2cea5af2a1c5c417458cdf9939e9d8e0f834903d2dd3203d5c1c1235be94eb43dc85e218ed25ab2272780d505410e25908980fa00cb6c0214edefb616cb1b1d051f5c9d58cbf66c0babb46aaa48676a6dd765e3cad5bb829b91dba8cb214d823bb6cfe135dc2703c2eacef607aa782c6089d4ce642df8ba523c2b19d829898e4ba4732ddad7e755fe6fe2fbec12877d7bdc56aeee9c80ccc89619630d8495e30e8bb2a1b1b1c8d3c4550ac4d4db58e5dcab6ed5ad0d6f32ac567a8a4b53424f6a6a0a0e030e3ce0ad39d59b868569fdd9bc65c3cec36ba9c04d0d418693076bff520f559bafe567ac82b0ab9e5c0035c8764ad36412c7bacfecc49592bfd7422704b9c2bc654a5a58de5b6b84ca768c67dc4cbadc8fda016740cd7f52c1dcffae12b811a9d8c44e27b68a981fdcf484db93883b414af5b0fd07a632df700cd7bef234f9a97f99ac6048f000206c97ef0ecba7584c2c73da4e50ea1781381223f9b394c0579a99ab3b6ba35ee4805d79103ba171d28c2a2eb2485507435c54608ffd220b0c524ac225cedf5cd4aaff0ca707dd2e55c8f68c5fe9bf77920b4c6ce98df5e009b10cb76fbf94917bbbe164c53e862ab338b0048280bfa67bbf66f6c97c3010d0ea37304abf94917bbbe164c53e862ab338b0048280bfa67bbf66f6c97c3010d0ea37304a7e87d67f4aedf45393a618b05ea43a006cf9f7300ef1836821ab40b6d78bc191c114b405e5b68a9c4a896a8321126ef87825e2c84a9353555963f444968908782d52d3bc0b1eeb1b17ad559c5f70de1c8e78f32819f077737591998b931590ee97bb704963b4b1188e7f92c197e98e5f16eb2f49369f4fa963c1aa1041e819262842f6c85f272d20c4d93c250b0d3b4a49c476e6f6ae766e28361ff8b493174a2a4192eae42b8e093921cf8609b8526664be5ebfc9187ec00cd8c6c7fab68c855f9583fab3fae8fd76d70f3732eab0be4babee6870a53335435b2ecbb07b7f32bf94917bbbe164c53e862ab338b0048280bfa67bbf66f6c97c3010d0ea37304a0a5e568e84bb831356f8a5e69c7586c5f63862eaf413d1245f1e7f32df7b601e1a8cd3714ce2070c68db3bfd29291f6bfea17ad110fee6b62424bfb2596a0e1abf94917bbbe164c53e862ab338b0048280bfa67bbf66f6c97c3010d0ea37304ab71fa39bb043b05c9f0ec404b3c5686a7773a5834c22d5a6a0d32b9df70fc2116a3e0424d923bf9ba16b81d3d59f11b3d44f050abbf65acee05fd30c71dcaa5b5a81681288b2ff2e5576590736dc1e75552bfba650b0ff976c184ac6b321feeedb828a344b9c91b5c96c69f9c7f9dcd6a4375969d360b5e5834721eaeb0dcbf1207d3c0e08722ad8e7cd33b3d5beaba52f5ef14de18611c63c579e99688684ceeafa8e3ac14b9857a73f43c1cd96b7e19bc10aa472f9edd7f05fddd41f5ff6cd710e133296c29aef5e8e6446ab644ce8a66d33113fc4a532e984a3169b10d4a29dfbbef2a257ce3652c54e864fb7f4bb3822b7c18acb63012d99f96be41a7df16f139211ee9530a6b0474c7a08cce29e879316f3c47210bb33e7555ec5a70220d0ee305302f4a13f53d178de07c84221c8b6bca2b7d2d0b6e444d4b6148835254a9156387d1c09abc97787296bd2088699b7acd24d4c125f1956bf9c60f346d955348c5b6ecfeedf96885436398060670cc72eca8d4ebbe62298d45b01c57aaa471f4fe56eb5cb8dc1b2884c1f7131ea9fcc19503ae31dbcc41ae14f0207c5f484b1b5a98e3d089b54f7040def206e843be1b6cfb0d7fae428c5d40eb288388cd0583660add8e2ab2f5b795021c4a1e39a4191a53513df76d009b2b296477897ce3541147dbad1bd3c915dab035b52554730c691e939ab6a880c61c8c90628bacee98199b450d05bf3f39d7f972daf5beff36f720cdbbecd12a4119126d65307161e9c684cf07377ff883f4d4be99b4b88e239c449cb9c54b0f673d00a5e54d7aaf0426bd142d759cc9043fd7a394f73abfcd2ec882ad24fb86748347b37c5cdbf94917bbbe164c53e862ab338b0048280bfa67bbf66f6c97c3010d0ea37304abf94917bbbe164c53e862ab338b0048280bfa67bbf66f6c97c3010d0ea37304ad1b68876313409db679a192dfc4ecb8a8de0f11862fc62ffad05f8fbc8affcb33c4a285ae083a6059088ff2b058c342d499dba4b02bd34d6b62b8428eda5371142cd6f1e0045f26561670a968a93ba9009a18435b79f93b65c22f1906ad4c95660b79df2267e140ff07924fda661ab5a894c27d492bc16295cbcc7c4d97b935b3a14bff212e22161d6f7d55baceabba3cd5cb595bfdb3d42cbc580cd69c2a44256ad4e44432ece9be485f190e48e18b0f7d6997e42e0e5277fcb438f3e40e25e3ceb2f41786b10df39944b7287f8e0d3543899dca53d7c2f01b194d0ef1402bf3cbb4b026e1853bf47599e7aed2430094560be83484827d99fb44ff3aeb3422d202769ada38b701bcc15a91fc95f6be3723cd2a63affd83b429953906c3483f18bed0fccf68defb225bb949a137f7ea63cc219b458d55d4e242fa7ead822327e72498b5e03e2ab2cf81a7179a86a7f3235e7b170a2d8cc588a0c9a7388caab73f1746223f20897e8c826b29f12aa560edca0694af87e0de83b6a8efa6377d11f6973352f56161ce6f66234f7ccba4ca9b8476881eb869d3988915fae3efb2140c7c7c8099bf6240e9210c66f3ad19a5af796eb8f2d9be8da81659bf6b5aa262a1645bc7500622145aafa3247d0ba23099f1f456ab22283670883920d7c7e5e4c5b0f334b70328486a2652d4c3feeee3d70c03726ccad894012f8b8511a6096942ca52ecdd341a8cc3aa1834aa304039a63246c5422a62320dfba04166492a2cff99b9a8f03d94e612f2fcc248b8c3ff6d0e5082d98ff2bd76507fac5c5b1bb988d2ac667a109a621dd4ce73339994ff1bb4dcddc3d3fc1283528994b633a855d830ff0620f010db497adda93cd0c068cabafd2f89d4b2d6c0b513765a005747ec10898f91001a0ab7650ef8d89ee71356fe223acc2f6901f13a6c9993ea6380b20ce0fe9bf6a98a4ee334f4c0c548c442bb451681c842ef79c5ea13a6eb1deb270f7cd3323918e294f4f5f1f1b89787645f2c6f7d4803fe3aca15ef827b7e70742c44e562d075623ad665fd2c1a71d12ed026f0bd0dd326d9832748c33b4adcf34921bdf596a098c5b40c7538962db4d23442e2c75fb25b3317f440479352c7f67d8a648ff218201699e3054d1d210620c5c629d5b6a8d06337f03a345ca126a215d873808bcb0ffbb6c50b1584631b61233f9001f306ab1fd2549be340ac6568a0a7d7510b847065ce859a85a80c14562126398247dc1d19326bf110ef61613d522ee5ff9dd2b4c90b393df6197151d96fc18412954e26ce3839e7340eae8a4742b376724eee00afe97f96300a586c1fb0b3fbe4a44ccf8413ec5124e7734b93c7137b0d4863a4e7d234cc462a4e2768348e4747d1a1160dd3ed1639ff6c6ff3f1108d88c4281c83c23b1f4ebbdccf28780602b699da099c96cd60fb5fe34244f3ac40bab90d71853f3fdc1b24f2b3d1c546659abb66713eb2c04e9c0e21372b35e81137f2973b7291f1bfcb1fea05bccbc426cdd6eb4ab2df5334c6a5b364715654d210b79c6ef930979c7ebbecd74e16e02668e7463a145f9946793ca18781d65ea8bf0803741b89799a88bdbd1ca620651ffd35fda02fa4749fe82d990dc2213c5c49337818e3801af098725024893cf6e50618dabd34ebbaa1d9d9f1beadddd37d7ef6f7e062f9b2867369b72071a65b732e7359dcb0fb6d56132d1cf29539ffb35ef962b2a2a1629fb5e762d472dd8780086445b5b82352e44be74da7b6bb3d860e310297dab364c89d82136f5eb89ff55ae06f62384ac7f9ad10c7b296795c210f2b00432ac585edd67fd3f32f4a599a8acb3c0e934e8985afc35452929dc311b31bd3c6d05e677faca12970f99f98e174eba4288250da51dfea45882d9ad79e4f28227accaea97b219d79433fe0226323f15958a766888e0964b5740e354086977fedb97b9d8b0ad3314f542132c73ab0fda35b20fbc0ba1dea14dfd84a47d21b07254e40979a2b25ae621b51afd0f3303758f3c050d96a07b53ff061c97fc73e1c7392e29c06b9f324666265c8aa7ef625cba98d01856a536daf883016ad233d9077f085f64b4117592cc0ff7aab32585e0d5ea8e5ebcf1fd5d6aadb3a3c98ac933a1f3aa4cde73383a2f87956a425b1f838627c0327d8e4b1233c70a5952b9fc3c38cb5691a3859535993067151d913cff9e24ed667fece25d4903695433c4e259c12cb2aa97e5cfd03338468eb5b1aedd8e65b7aa5acdb82a85435569934b919d58d7fa3ca6d6df3b43d87edd3d29266d38170c149cafdbe6c40301c95435612a8b2f21db248268667f64dbae7d9056f34689f41cff53a6db1ba903715b9cbc9bb20d7739a5b2a36576cfe55f409cefd2ed80435f4c48a769381b652ffff39a44b867d0a6f7e4159b075476786e8843acda8dedf3a8abaa6079a8cb92f23668fa3b01c26659c1da83a109674b499df320a90bc345cd954d7125d673606ebf048f1bd4631c3bdd5d6d56283eb7367ef2a78e50f026ba82c10a37d4416eb58a568d091630e1921bf05b65ec545f12dc0cce48be882fa5b4992a94c340831018c077c3b2940fddf480217477f939e89cc03cc92b241cfe72c3041374bf94917bbbe164c53e862ab338b0048280bfa67bbf66f6c97c3010d0ea37304a2ad88fc436b6a51126abb415d7368517352c36974b5cb248c1d95d1a56a01fed04db97fbe1232fc6ebc655f3e5e56366212f8843e13fb88a53d06ed8bf48a6e5a513054b3b66efa30fa3ea7e3da5461e5e8fc72d4d22fc70afc571c0e79aa9a71887a25ea8d4474aca7777fb8599c287fdc5fd496e3ddc32293a2db843ccbde67c5031cb22d3e29b3d9ca3f65c9d8399b04e9f11f014370481c1ff9e9dce1a5f997327a7fd3695ac85713355618dea0cab64dc78be16b8c7e7e666041246cb86ee5c5baed03222b28a19588331a0bb52ada0ec313579bee395f4b5fad228cf7aa8cb7d3f5fe04a791a0d32b67205f4dec1648e7b8d81e4713f7135d9ba543c2d20fe3d3061803b290c260e5aa0167dacd6ac10f525222aa768a70fe61d1043435b359a05b500f4b00b62250fe664d19a8720974a99f61d94ec107a212b5cb9b5e91154ce4005132de534c5cc615921d7920fbb825213273a1f5101e350a326d01ee6151eb7dd24a6ea834df40fc48bc60b5a5aace7a4d84753225b4b4e6d6d63712fa639b02e386cb692fac1212d1c0dc6b234b6d2cf871ec1f14e355e64e39ef8a58be5cb9da548981537b9852146f192965ece4408527b82f1de5beeac343d4aaea9a54afa19d29220de6d5cb25e192590c365a44fb6b0083667e22a8c5ec20ec344f548eec71964f8484fd3ace8716e45ee181f90eeffe2cd73730a6aa29bbb6ec061f4f1448958b8e210fa0ed47eb2f0f6de3dfdfe63dc4cfc71e6561a40bf94917bbbe164c53e862ab338b0048280bfa67bbf66f6c97c3010d0ea37304a9b878f53dedcef2756eaaf5ffd24047c41f6080036fcf47404413fab82140b4e65131616a20f468a15d15f8736f9bd94f90ac00351712f563269c99cddb14dfed8edcefdd28069bb1ac9279a3798a174f593655976018fe4932a6fe3722dc661fc8aa6666800aceefa7777d24e732124ef1b9b571368ac0354d13f3929dea13566fb4f9cff8c788b754823bd019419d6e4e32cf9f63b39faaf3282a925cf90023781e1da68bba44f3d8e8f406b41dbd5e9706a4a12457405d991fb1634a33e9f9a69609113155a09e9dedfea3b3910bb025d2d9fe0ba7005ecc9691d2d7341663ff1f63faf602122d48bf319077c5fe115fe9ce8b81d8d0f34334286b5572f84df0cf64e10e8d9604903d256f7b18f66a4d907373e11850ecf0fc67a9792b8bb966ec6dea5aa6f71e3d3a45878dba2452c38b220196e79b1b6b63f2073bec74f188445ee1bb95d0829d855b7566bc508bc3239244cdb84b2b101ae974740a501dd2e801ff588d0f27020e7e9010769d853b70ecb8459258bbc59c0f6f6560d679f208536550dd3347789d4c03c2cae30932e76c4d2a3dc08c480a9b5750b918105ad942bc24737c2519d0bfe343943e449816468beb24ca4b3d3bfbd3afed155f99cc501d1b7b53198e174cbf329e8e512c8149d32bf5453817811d6541b0569c20b94a3ea34bbd51d983fa0ae189ff6731c0e78d061f47dde5295977859dd6bc00d50d26f825698b8907d7387f1ac8512f4a940a3534c900d4654f39d04be8dd1f13f69339b51c947a3931afd7bea8e9965e097936fcf4068d5ed2628081a2b993e07b1f514acb667aa3d27becd737f30653013877fc0f6477257b794353d98e2bd6da23bee273c1356ed5e486e63fa54e06cd42200576d8b0d0b400aeb2fad96719ceaf1ce35d7a24a53c3062d8218ff48b7b4c969a3caea1684b27d7f91b2e40a5b26a3e9e5d002d01b50dca9d96acf2c39c954ec449ce521fdaccfb1ab2e78a4189019025e891c16551a0f1dd79d94c96951ffd0a713a2700e7b166e1c19c1ff2b5c9ce54fcc36b142e050fd4f2ba09d7a6c4e4c96b380bae399fba9c9d1f153bdd723866da028534e2d94de82311d41bceb706e6907f928e2d9bb1f5a02670179c9d655d00848dd0e477263837af1a8cdf5ef96e5eb2b3226d655a05428aa8e6b92682da1aed01a9b26f308a450ef39a5ca0cb7a79b3dc59bdf08a0e2b4a75aa8d9987425eaae416273434b3065d959596b60a30ef30184164473025ce71a5f4f063914ea50430b667d4439738d25990522180657ca48419debbb2fb7db0e936d4ab51cfd0f772bd8431e9d44471ceec314dc92e0fadf649b3eaa35891a41c8c0be93fbee080d33eae4d4e7fda93b71d946a20ff31b1c8905a1b9ba63564b0a488aaa57bdf63a1a8350a7393d103452a491411af29d56c2dbdd38ae1f71bf94917bbbe164c53e862ab338b0048280bfa67bbf66f6c97c3010d0ea37304a39587a28319d3e6d049c2c20baf7c8bfb85e17c21f89f957c1082be6a23aa82c3fb804ad7e970c1f59b6e7d8348505ffa9134dbd8b9749e3a6ad2c18701e68c423499e2f86d4f51223a89c337cfa6bdf90144bf7c203deea065ee5e430a8631e32b4f56b57fed30224005ce514fc6a56effbbca9429d41df838c94bfe25ba9f82e484888f628541e54ecd2c298cb726eb61efd76e70308943830ef1a65e5131ae8cb92b4fbc22083793253ddb57eb92cef01e4b6bdf2c4b89725b12fb3e7845e14f4684d2679a58755fb596f5db5c425547aad0eb470576b1fd7f9905a5fd04714bbd89b077ceb8751dc53ad2760cdad9e8bd3cb5a0f8f2cb1c025ef1385feb2bf94917bbbe164c53e862ab338b0048280bfa67bbf66f6c97c3010d0ea37304a15c182e4d81e94ced41e051ef55354bee9192e7dfe1aad37743b4fdf8644b8d80144c75ad8182a4708c28f6fb13a71be98fa2c6fe4af2a89974ba8203d17389eb1a381714f1aa091e8263765f859f281787e01f57dce157bce115ea638505fbf13b5d4720d46a1f6152d5937f1a0b892d9f65383d9aa37c2ec591279cbaa4bb96cdc34400453cdf293aee7aaf366842be48b139e49114bbd27fc4a2e3d0801e85b03d3a59fc64828901a9026817432b8118a299e0b7cb51c2dc4d77a83d21e8df55f6f8e230768ce2ffae2f13f9168158ef25ba962211a7c45b89a79b790c344e8e70b3277cfd3d3cfa004aa71b0e91014627067cb22b7f102f73201b37dcc72ff8bf54782e47a750f7781fb0ddeabfd5e52d7d90ced82f6a663afb8f15a7cb240d1ec1c15efb84ee600b7ae60cc2eb93f53a14c6c8644aded5f9fca45276f0b5ec73e016d4721548d5ccc2bd093688f2a12d8aacae97ba401be5ffeb061f194d4d8dd9e81966306334491722221ebf25f72430e240fe90765b7781261e4f4d80cd16b98d7eff65a9b1a9048dfe7de800f58758448aa3c7dc401a82feaf5ff78e406dfb164f41083f4ec31ea2fc6482ef395e978a221f03ee17786c4393fc9c14af9f1d88f2577ea5163de7717f0d921f293080d0d8975dbd14fc482b94f0bfebf451a29711a67028c57e35249351be40233e65b9ce4e63654215b52d7d4b75327e9b6d24db4a4c1794ca7650d2aabcb235edf698832b8e3bab0dd5ddfa2441536b41d6aab7b75d22439723dfbef458ca27150dc1299c3e84b1b7df13b03a6332a293cc32dc8d00e78fbaa5e435c4007ea7725c13dd46eaa544d4b27a6844704138c06a647d6e40a34e98513af6ded4770cda383d4592b59bafbeb393d4bfe02e1163951c681ed07570d90f80f16bccc3dacfbdb21134787651775cd6c9a75ab70160a010970978fcb14b54211843bb1ec79ae721caf83f4be217d84a41f6b0f9b7b26e50540fa01fb6096bd61e98f5ac41032e394e738f75600d99d15d5b50f5b09c1b7e38ec0052520d0bbe7ded8573cacbe0eeceb3a69bbaf6bdf980a556b42124004782275fd2002dba169077bc265bafbda26a4c7195e2a3dade1c553a5367334a3d9e98ec02138185bc36ce3069e4673405b0d84cf6dc0184bf0f28cdb8f1fe1256ed715de6394c62c2d1ebf61f09c708be31789a4b8a8566700bc4efcfb148ab4646c7c0dd2fad11f71551715856003b657ff0e2479638f5e13c9e348e28cadd36bc19be8a1c59e9579366993b9b4e5eca3b51d9c0b30085d3f36bb201c61689a222188addb755e181a23d3c04be4e79efb97129829aa3ca4949aa36e8c637292e51926924f8c75f55558fefaf491eb718c7fff5cfc1cfcb238025eb0086967b2eda2a03c6f5d2fe9fa805bb49ff2dcdcc9ce42cade7e4c57f2c6b07801d01162ec366571dd9e9b1d46971d745b8020adf3f6defbb48a03bc7493e5fc0c6a5f46cee33e34d614194a5cc03379d7dc5569a825dc1e9b24f138a4404abd3cdf1611810281b0f912fb81c4fbebf1b31b76fc3fe59dba766ec37c541e1b4691a501633de1d0b0680e855501f41839c32361f05b627bd5febce4b3bd10f79383d7aa54c9ebe6a38b6999f4e03f07982cca966328d3b6ecfffa4ed412d84a823cdf1611810281b0f912fb81c4fbebf1b31b76fc3fe59dba766ec37c541e1b46a4ccef48a2466498ddbf8d25f237a74860791eea27b40169637bd000cb0612c925dbf6beb90f83efd5102b9d8df0651fb90b1a6f15031ba59728a099453e3dec25dbf6beb90f83efd5102b9d8df0651fb90b1a6f15031ba59728a099453e3dec25dbf6beb90f83efd5102b9d8df0651fb90b1a6f15031ba59728a099453e3dec8c6b08a078d7b3f643eb5fdf3b3c0d2d2028beef477b3e276aeb990ce2c17bf511014aec8695e818ca712320b70e1512a423127ccca267fd9be79b7df6d2a287174253f1c6b53753e8357a62aa82cd201dda3540ef91a24cae1cba7b6226833c1d5f8b3716470c39ac414f069fa24f6e58399371a16df38ec6b80dd0663f5247b7c67f9499dc451c687eb6479c29e640de44d9991be93bb82e073a4103bdcd157607d8d3b1724fa025ed3c03328fced9b6acb3c1dfe42b711421d7e8ff5e03bcf4e2b413dd0a17b078e5cd6eaa4cfb65e3fb31445cfa42c0f18dfe1afe2b77f676242efc76282561969112cd63142ec3bec3d37efbf6d1c1b9ac91675d3b5087fa0960fdcd1058b4706c314e5137860918b73af2a40e278a9b0f272cfaa0d1345c5c219e54190325a1ecf9d25cafdfd06d59b3b7d65d606cc58e267d5a6970095e4b606f66539364b6a638475b0237a8cf04e68ac80ac2886750eca2b450384f5e4b606f66539364b6a638475b0237a8cf04e68ac80ac2886750eca2b450384f000880302e4fa88df786388982c767bacfdcc520e246bfd8b65036e6db2009e9f4ab3db74c12611b0ee12e6512c8263926964eff514afeb5e98e36bbded7fe976487ba5aa868c595eded2018ff4088fc2d9bc1539d15dfb94d2606db0de619ba7eeb5d1a3a295f6156b9200b5bca3ad85a230c406842c99e4bab181242ac4e92c37dd5fb50ea93bc747a6f506cd8af492e615203b5ff6779e63c2435505731767eeb5d1a3a295f6156b9200b5bca3ad85a230c406842c99e4bab181242ac4e92c37dd5fb50ea93bc747a6f506cd8af492e615203b5ff6779e63c243550573176a648993793a8899eff496a6787712b382cb8df8b7a67266dd38798b2dd3fa7b95d17bf31f4ee9b0ec69cc5ab10f93bb740a9433633dd80647c45bd6007715776ada478d73a689511de0b4c80cf8cdb8bb8a7d048a4ebf100820ef41213e4db3af4e2b413dd0a17b078e5cd6eaa4cfb65e3fb31445cfa42c0f18dfe1afe2b77f6e7c42fbdee10d39be44c27eba97b80d344f2f6bf893c572c55e46e5275730adfa5f66123648edef8230ccd302b65cbab9c0bf3f30b1eecd3b7d720e10c265ec3c6315aa174a388a683f81264e9680cbaeb67bbf9d1a848d08e8eaf85c3a9bcd2e7cfea298648f3fb27e975c220da7dd1c556d7193326b767957654e3ff61ab5e3a1c98b15f0953eb1d2af09051364ffe618ad8a4f34dffafe64991f81d4d1ca37eeb5d1a3a295f6156b9200b5bca3ad85a230c406842c99e4bab181242ac4e9284a6ff8c8f0f5a4ed77fc241e0f09f250b9b6b82fa182636eb8a8ebf84e7587e5c5c219e54190325a1ecf9d25cafdfd06d59b3b7d65d606cc58e267d5a6970092304f2b99d427e9772d541025e5259da64a9f2cbf8b9c1b7ed32e4f5f523b21ec37dd5fb50ea93bc747a6f506cd8af492e615203b5ff6779e63c243550573176095b1b05ca46f5561dc5f0039bee9055c118faf3095a0d46121b13ad7e2452156487ba5aa868c595eded2018ff4088fc2d9bc1539d15dfb94d2606db0de619ba6487ba5aa868c595eded2018ff4088fc2d9bc1539d15dfb94d2606db0de619bad0a206e11d4b0b1d8d76363e2d396dcb965d2972661d52ad63587be922518f25edc176ad3dfef56eb2d1d8b4456a8ab8cc28d06cf479c3cf8a17232ec0675cc8a648993793a8899eff496a6787712b382cb8df8b7a67266dd38798b2dd3fa7b95d17bf31f4ee9b0ec69cc5ab10f93bb740a9433633dd80647c45bd6007715776ada478d73a689511de0b4c80cf8cdb8bb8a7d048a4ebf100820ef41213e4db3af4e2b413dd0a17b078e5cd6eaa4cfb65e3fb31445cfa42c0f18dfe1afe2b77f6e7c42fbdee10d39be44c27eba97b80d344f2f6bf893c572c55e46e5275730adfa5f66123648edef8230ccd302b65cbab9c0bf3f30b1eecd3b7d720e10c265ec3c6315aa174a388a683f81264e9680cbaeb67bbf9d1a848d08e8eaf85c3a9bcd2e7cfea298648f3fb27e975c220da7dd1c556d7193326b767957654e3ff61ab5e3a1c98b15f0953eb1d2af09051364ffe618ad8a4f34dffafe64991f81d4d1ca37eeb5d1a3a295f6156b9200b5bca3ad85a230c406842c99e4bab181242ac4e9284a6ff8c8f0f5a4ed77fc241e0f09f250b9b6b82fa182636eb8a8ebf84e7587e5c5c219e54190325a1ecf9d25cafdfd06d59b3b7d65d606cc58e267d5a6970092304f2b99d427e9772d541025e5259da64a9f2cbf8b9c1b7ed32e4f5f523b21ec37dd5fb50ea93bc747a6f506cd8af492e615203b5ff6779e63c243550573176095b1b05ca46f5561dc5f0039bee9055c118faf3095a0d46121b13ad7e2452153cdf1611810281b0f912fb81c4fbebf1b31b76fc3fe59dba766ec37c541e1b46ada478d73a689511de0b4c80cf8cdb8bb8a7d048a4ebf100820ef41213e4db3af4e2b413dd0a17b078e5cd6eaa4cfb65e3fb31445cfa42c0f18dfe1afe2b77f6f4e2b413dd0a17b078e5cd6eaa4cfb65e3fb31445cfa42c0f18dfe1afe2b77f6ada478d73a689511de0b4c80cf8cdb8bb8a7d048a4ebf100820ef41213e4db3af4e2b413dd0a17b078e5cd6eaa4cfb65e3fb31445cfa42c0f18dfe1afe2b77f6ada478d73a689511de0b4c80cf8cdb8bb8a7d048a4ebf100820ef41213e4db3af4e2b413dd0a17b078e5cd6eaa4cfb65e3fb31445cfa42c0f18dfe1afe2b77f6f4e2b413dd0a17b078e5cd6eaa4cfb65e3fb31445cfa42c0f18dfe1afe2b77f6ada478d73a689511de0b4c80cf8cdb8bb8a7d048a4ebf100820ef41213e4db3a78af07255dea71de852563853b9ddf60446050a9088ec99bfda1c620b3e5aa963059235067b26cf6b7ceafdb63d402da6ca0ca695160235b1a710ec1cf175aabe7c42fbdee10d39be44c27eba97b80d344f2f6bf893c572c55e46e5275730adfe7c42fbdee10d39be44c27eba97b80d344f2f6bf893c572c55e46e5275730adfe7c42fbdee10d39be44c27eba97b80d344f2f6bf893c572c55e46e5275730adfe6a84d038a85fb2f93d8777f320d295bd3eb48ce1b7de1e19336e61894bc2a9a92bbd213cae4df3f83e5d35bf3a2d89f1cd543c032d353585015c3c4a41eefbcc919066e625ac2b2c104e4322fa6c4787bd688321ab4ed0d5f62398235a175e9515426e6345a7c85be6f7bb73c391847e97896cf1df12423002ae3eba0d95599052104b69d3bfc635531636f1b26324acc77964035aa0e35d43af23086b3de27fe19faed8110cecf9be64fe9ad709582da6027e25bd0422840b9f4694c2b7bf9ecb341597bade4e36b6ac8ed51008c63828a3bc4a99136f62c2ef918640d59ee389204ba5eb6766df7fa1f2cb1cff266e3cfc7f02113bc0b5027919979b9bc93fa77f17df74a59032748dfc2440d25f23cdf9a7a6ace2e2ae0153391209490835d17bf31f4ee9b0ec69cc5ab10f93bb740a9433633dd80647c45bd6007715776ada478d73a689511de0b4c80cf8cdb8bb8a7d048a4ebf100820ef41213e4db3af4e2b413dd0a17b078e5cd6eaa4cfb65e3fb31445cfa42c0f18dfe1afe2b77f6e7c42fbdee10d39be44c27eba97b80d344f2f6bf893c572c55e46e5275730adf60744a1a5c540653c27cc0a077b88ea1261c83d2b9acfda8ee3885d7b0176ff8a5f66123648edef8230ccd302b65cbab9c0bf3f30b1eecd3b7d720e10c265ec3c6315aa174a388a683f81264e9680cbaeb67bbf9d1a848d08e8eaf85c3a9bcd2e7cfea298648f3fb27e975c220da7dd1c556d7193326b767957654e3ff61ab5eace676a2f899b95d04229e9e0f2f67ae78861176133db36fc0660b710db666603a1c98b15f0953eb1d2af09051364ffe618ad8a4f34dffafe64991f81d4d1ca37eeb5d1a3a295f6156b9200b5bca3ad85a230c406842c99e4bab181242ac4e9284a6ff8c8f0f5a4ed77fc241e0f09f250b9b6b82fa182636eb8a8ebf84e7587e5c5c219e54190325a1ecf9d25cafdfd06d59b3b7d65d606cc58e267d5a6970097decbf1794f0c5b8e39c65fcf1c4bfe7354d66d2339a39af56a482c2f6f6d5bac37dd5fb50ea93bc747a6f506cd8af492e615203b5ff6779e63c243550573176095b1b05ca46f5561dc5f0039bee9055c118faf3095a0d46121b13ad7e245215f617973868212e0922fe4034411b37d44fe55e3c95cb088ca7f4441b89058bcff617973868212e0922fe4034411b37d44fe55e3c95cb088ca7f4441b89058bcf3230ef6af779a761f0e03aeeb0f98ad503f7b1b7498a933e781091b9053c58e5a5f66123648edef8230ccd302b65cbab9c0bf3f30b1eecd3b7d720e10c265ec3a5f66123648edef8230ccd302b65cbab9c0bf3f30b1eecd3b7d720e10c265ec3a5f66123648edef8230ccd302b65cbab9c0bf3f30b1eecd3b7d720e10c265ec37c73a9cdf56a9a0b2edc3b396d39b44be34c2e38900bffd4b283944b44a39013052104b69d3bfc635531636f1b26324acc77964035aa0e35d43af23086b3de27e7d218683784f07912c232868f13268231683e231f99fcb4f1c310a145106baff877f8a60e492f66dc99ca8f83b5dd34c2b917ea43cabde4dd538e8d81d55e6ca648993793a8899eff496a6787712b382cb8df8b7a67266dd38798b2dd3fa7b99dabca4d89ad83986a828905c3be349d3e1d576eb3368fabecdfb4146c0077885d17bf31f4ee9b0ec69cc5ab10f93bb740a9433633dd80647c45bd6007715776ada478d73a689511de0b4c80cf8cdb8bb8a7d048a4ebf100820ef41213e4db3af4e2b413dd0a17b078e5cd6eaa4cfb65e3fb31445cfa42c0f18dfe1afe2b77f6e7c42fbdee10d39be44c27eba97b80d344f2f6bf893c572c55e46e5275730adffe0f5394684361c434e4020191d94a10e285e1310343d90063cb12c07e1b182da5f66123648edef8230ccd302b65cbab9c0bf3f30b1eecd3b7d720e10c265ec3c6315aa174a388a683f81264e9680cbaeb67bbf9d1a848d08e8eaf85c3a9bcd2e7cfea298648f3fb27e975c220da7dd1c556d7193326b767957654e3ff61ab5eace676a2f899b95d04229e9e0f2f67ae78861176133db36fc0660b710db666603a1c98b15f0953eb1d2af09051364ffe618ad8a4f34dffafe64991f81d4d1ca37eeb5d1a3a295f6156b9200b5bca3ad85a230c406842c99e4bab181242ac4e9284a6ff8c8f0f5a4ed77fc241e0f09f250b9b6b82fa182636eb8a8ebf84e7587e5c5c219e54190325a1ecf9d25cafdfd06d59b3b7d65d606cc58e267d5a6970092304f2b99d427e9772d541025e5259da64a9f2cbf8b9c1b7ed32e4f5f523b21ec37dd5fb50ea93bc747a6f506cd8af492e615203b5ff6779e63c243550573176095b1b05ca46f5561dc5f0039bee9055c118faf3095a0d46121b13ad7e245215f617973868212e0922fe4034411b37d44fe55e3c95cb088ca7f4441b89058bcff617973868212e0922fe4034411b37d44fe55e3c95cb088ca7f4441b89058bcf3230ef6af779a761f0e03aeeb0f98ad503f7b1b7498a933e781091b9053c58e55d17bf31f4ee9b0ec69cc5ab10f93bb740a9433633dd80647c45bd6007715776ada478d73a689511de0b4c80cf8cdb8bb8a7d048a4ebf100820ef41213e4db3af4e2b413dd0a17b078e5cd6eaa4cfb65e3fb31445cfa42c0f18dfe1afe2b77f6e7c42fbdee10d39be44c27eba97b80d344f2f6bf893c572c55e46e5275730adfa5f66123648edef8230ccd302b65cbab9c0bf3f30b1eecd3b7d720e10c265ec3c6315aa174a388a683f81264e9680cbaeb67bbf9d1a848d08e8eaf85c3a9bcd2e7cfea298648f3fb27e975c220da7dd1c556d7193326b767957654e3ff61ab5e3a1c98b15f0953eb1d2af09051364ffe618ad8a4f34dffafe64991f81d4d1ca37eeb5d1a3a295f6156b9200b5bca3ad85a230c406842c99e4bab181242ac4e9284a6ff8c8f0f5a4ed77fc241e0f09f250b9b6b82fa182636eb8a8ebf84e7587e5c5c219e54190325a1ecf9d25cafdfd06d59b3b7d65d606cc58e267d5a6970097c73a9cdf56a9a0b2edc3b396d39b44be34c2e38900bffd4b283944b44a39013052104b69d3bfc635531636f1b26324acc77964035aa0e35d43af23086b3de27e7d218683784f07912c232868f13268231683e231f99fcb4f1c310a145106baff877f8a60e492f66dc99ca8f83b5dd34c2b917ea43cabde4dd538e8d81d55e6ca648993793a8899eff496a6787712b382cb8df8b7a67266dd38798b2dd3fa7b99dabca4d89ad83986a828905c3be349d3e1d576eb3368fabecdfb4146c0077885d17bf31f4ee9b0ec69cc5ab10f93bb740a9433633dd80647c45bd6007715776ada478d73a689511de0b4c80cf8cdb8bb8a7d048a4ebf100820ef41213e4db3af4e2b413dd0a17b078e5cd6eaa4cfb65e3fb31445cfa42c0f18dfe1afe2b77f6e7c42fbdee10d39be44c27eba97b80d344f2f6bf893c572c55e46e5275730adffe0f5394684361c434e4020191d94a10e285e1310343d90063cb12c07e1b182da5f66123648edef8230ccd302b65cbab9c0bf3f30b1eecd3b7d720e10c265ec3c6315aa174a388a683f81264e9680cbaeb67bbf9d1a848d08e8eaf85c3a9bcd2e7cfea298648f3fb27e975c220da7dd1c556d7193326b767957654e3ff61ab5eace676a2f899b95d04229e9e0f2f67ae78861176133db36fc0660b710db666603a1c98b15f0953eb1d2af09051364ffe618ad8a4f34dffafe64991f81d4d1ca37eeb5d1a3a295f6156b9200b5bca3ad85a230c406842c99e4bab181242ac4e9284a6ff8c8f0f5a4ed77fc241e0f09f250b9b6b82fa182636eb8a8ebf84e7587e5c5c219e54190325a1ecf9d25cafdfd06d59b3b7d65d606cc58e267d5a6970092304f2b99d427e9772d541025e5259da64a9f2cbf8b9c1b7ed32e4f5f523b21ec37dd5fb50ea93bc747a6f506cd8af492e615203b5ff6779e63c243550573176095b1b05ca46f5561dc5f0039bee9055c118faf3095a0d46121b13ad7e245215f617973868212e0922fe4034411b37d44fe55e3c95cb088ca7f4441b89058bcff617973868212e0922fe4034411b37d44fe55e3c95cb088ca7f4441b89058bcf3230ef6af779a761f0e03aeeb0f98ad503f7b1b7498a933e781091b9053c58e5484ae631900d386ebd02b57954546e61a910ce1803ce21175e05c93be4136e42375cc6c797f5bdd3bd30f99bd7833a7e36f61ceb212bc9cd66965fa08818e679c390b31776aff9179ec10faca2a34e804f2edfe176a40fa003c6bff159f4d1e6a7eb756ede7871ecdf11d59d340a04b816d3085939e1d124b3e0521d60d1e7ac79d4552a357a7c0bd214a0c04cc8510de894fe14e3e8cf1811617b26663590d384a6ff8c8f0f5a4ed77fc241e0f09f250b9b6b82fa182636eb8a8ebf84e7587e5c5c219e54190325a1ecf9d25cafdfd06d59b3b7d65d606cc58e267d5a6970095c5c219e54190325a1ecf9d25cafdfd06d59b3b7d65d606cc58e267d5a69700984a6ff8c8f0f5a4ed77fc241e0f09f250b9b6b82fa182636eb8a8ebf84e7587e5c5c219e54190325a1ecf9d25cafdfd06d59b3b7d65d606cc58e267d5a69700984a6ff8c8f0f5a4ed77fc241e0f09f250b9b6b82fa182636eb8a8ebf84e7587e5c5c219e54190325a1ecf9d25cafdfd06d59b3b7d65d606cc58e267d5a6970095c5c219e54190325a1ecf9d25cafdfd06d59b3b7d65d606cc58e267d5a69700984a6ff8c8f0f5a4ed77fc241e0f09f250b9b6b82fa182636eb8a8ebf84e7587e8887c9ce95c0b1941c824ed391481dbc63eb18908c50ff76ec92f869744a7ca663fc7c824d34c3d7e4e9e440e21a137b11afb99c8e00b20daa4e6942d984d6043cdf1611810281b0f912fb81c4fbebf1b31b76fc3fe59dba766ec37c541e1b465e4b606f66539364b6a638475b0237a8cf04e68ac80ac2886750eca2b450384f5e4b606f66539364b6a638475b0237a8cf04e68ac80ac2886750eca2b450384ff7b0822cb583fe3f56a6150a769e10496be0bd246f798ae47c53f4d9ecb96295e3e6e3d13a73e92931d718fd21f13c3d840e99e132e621db992eccbdc89f7ec55d17bf31f4ee9b0ec69cc5ab10f93bb740a9433633dd80647c45bd6007715776ada478d73a689511de0b4c80cf8cdb8bb8a7d048a4ebf100820ef41213e4db3af4e2b413dd0a17b078e5cd6eaa4cfb65e3fb31445cfa42c0f18dfe1afe2b77f6b82b05fd662068b3a81cef648c7c1cc7c075ae841374c8813f57d51b47a2cabcd2aa4324a4038d862023b472086b27af20445522008977f98f419fb0815db2391a073aee57180095c112cd7f1d206b418b8603aa98df5b3863d7be3d9356a6a7aa98f46852af97d99d290f9e76b0cd4582879ee705d138a19165c12cbc44d88b6c6c81d4646a5bb752379efbd0717770009d18de154a79f6d8a5f40e5868d9c83a1c98b15f0953eb1d2af09051364ffe618ad8a4f34dffafe64991f81d4d1ca3f49aa7b012f24875d464e5a0d1e7f596b0e06d91d776a32061657cc018cd076d84a6ff8c8f0f5a4ed77fc241e0f09f250b9b6b82fa182636eb8a8ebf84e7587e5c5c219e54190325a1ecf9d25cafdfd06d59b3b7d65d606cc58e267d5a697009deaf3700ae39a27b303c0da980fd4cd1c00427ee6f8c573679239e77cea7ba2df617973868212e0922fe4034411b37d44fe55e3c95cb088ca7f4441b89058bcff617973868212e0922fe4034411b37d44fe55e3c95cb088ca7f4441b89058bcfaf3b3cfe67ecdfddc5c939a19db9ffd75119edb52fd05dc30fd2a6b9d161ce93ace812608c69e6af697d8f4fbadfd29dcf91ad1a8fe9d7a200fb550a1e95e14f000880302e4fa88df786388982c767bacfdcc520e246bfd8b65036e6db2009e92a7d5369904a4706a0e4daf997460dcfdfd852a604b3c78bc4eca8b9c97e68315e4b606f66539364b6a638475b0237a8cf04e68ac80ac2886750eca2b450384f16ab9f3cbf5ee7a591e4e8f856e2fb528ddb0b0f9c1e345de25bd916f9c7b636f617973868212e0922fe4034411b37d44fe55e3c95cb088ca7f4441b89058bcf3cdf1611810281b0f912fb81c4fbebf1b31b76fc3fe59dba766ec37c541e1b463cdf1611810281b0f912fb81c4fbebf1b31b76fc3fe59dba766ec37c541e1b462f6288a1b58376f3f46ad30b27b5a806dc065453d3a98435707352db0c80fb2815a645127157f3b10cc189b7a2a64be1d88762a74bde2382cc3ea6ee69fe88e63f840fef10d6fdc6b617d06afb023cf91a1700e25c8ade398cbde1f20bcdde2empic++.1rootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootopenmpi_2_1_6-gnu-hpc-2.1.6-150500.24.2.1.src.rpmopenmpi_2_1_6-gnu-hpc-docsopenmpi_2_1_6-gnu-hpc-docs(x86-64)     openmpi_2_1_6-gnu-hpcrpmlib(CompressedFileNames)rpmlib(FileDigests)rpmlib(PartialHardlinkSets)rpmlib(PayloadFilesHavePrefix)rpmlib(PayloadIsXz)2.1.63.0.4-14.6.0-14.0.4-14.0-15.2-14.14.3c pb&an@`N@^s^]]]@]y@\@\@\@\@\eX@[1[T@[ā@[\[@[y[[@Z@Z@Z2@ZZ}@Zp^@Z_:Z)-@YYܶ@Yp@YYYYY@Y@YY?@YoIYf@YdY_wYTYS@YBvY9<@Y.@Y-^Y;@YtXnmoreychaisemartin@suse.comnmoreychaisemartin@suse.comnmoreychaisemartin@suse.comnmoreychaisemartin@suse.comnmoreychaisemartin@suse.comnormand@linux.vnet.ibm.comnmoreychaisemartin@suse.comnmoreychaisemartin@suse.comnormand@linux.vnet.ibm.comnmoreychaisemartin@suse.comnmoreychaisemartin@suse.comnmoreychaisemartin@suse.comnmoreychaisemartin@suse.comnmoreychaisemartin@suse.combwiedemann@suse.comeich@suse.comnmoreychaisemartin@suse.comnmoreychaisemartin@suse.comnmoreychaisemartin@suse.comeich@suse.comjjolly@suse.comjjolly@suse.comeich@suse.comnmoreychaisemartin@suse.comnmoreychaisemartin@suse.comcgoll@suse.comeich@suse.comnmoreychaisemartin@suse.comnmoreychaisemartin@suse.comnmoreychaisemartin@suse.comnmoreychaisemartin@suse.comnmoreychaisemartin@suse.comnmoreychaisemartin@suse.comnmoreychaisemartin@suse.comnmoreychaisemartin@suse.comnmoreychaisemartin@suse.comnmoreychaisemartin@suse.comnmoreychaisemartin@suse.comnmoreychaisemartin@suse.comschwab@linux-m68k.orgnmoreychaisemartin@suse.comnmoreychaisemartin@suse.comnmoreychaisemartin@suse.comnmoreychaisemartin@suse.comnmoreychaisemartin@suse.comjengelh@inai.denmoreychaisemartin@suse.comnmoreychaisemartin@suse.comnmoreychaisemartin@suse.comnmoreychaisemartin@suse.comnmoreychaisemartin@suse.comnmoreychaisemartin@suse.comnmoreychaisemartin@suse.com- Add patch btl-openib-Add-support-for-newer-hardware.patch to support newer RDMA hardware (ConnectX 4 and 5 VF, ConnectX6 PF + VF and Broadcom adapters)- Backport upstream patches to fix compilation with autoconf >= 2.70 - Fix-error-with-stricter-quoting-requirements-of-autoconf-2.70.patch - Always-include-the-stddef.h-header.patch- Move rpm macros to %_rpmmacrodir (bsc#1191389)- openmpi2 is not the default openmpi anymore for releases > 15.3- Drop different package string between SLES and Leap (jsc#SLE-11846)- Add openmpi_disable_opal_fifo_test_issue5470.patch as long as upstream issue#5470 not solved for PowerPC https://github.com/open-mpi/ompi/issues/5470- Link against libnuma (bsc#1155120)- Fix conflict with other opoenmpi*-macros-devel - Add conflict with older provider name to avoid issues during updates - Add openmpi_prefix macro to openmpi-macros-devel- Add -ffat-lto-objects in spec to avoid build error- Provide openmpi for suse_version >= 1500 - Add macros package for non hpc flavour- Enable openmpi2 on ppc64- Fix bad INCLUDE path in module (bsc#1132949)- Add add-gen-p5-chip-pci-id-to-ini-file.patch: - Adds support for Broadcom 57500 adapters (bsc#1125651)- Update to openmpi 2.1.6 (bsc#1094689) - Many bug fixes. See NEWS for a complete list- Add reproducible.patch to make package build reproducible (boo#1047218, boo#1041090, boo#1084909)- Add macro _hpc_openmpi_modules for modules support (bsc#1116458).- Update to openmpi 2.1.5 (fate#326157) - Many bug fixes. See NEWS for a complete list - Drop openmpi2-add-HCAs-to-mca-ini.patch as it was merged upstream.- Remove bashism in preun scriptlet- Fix handling of mpi-selector during updates (bsc#1098653)- macros.hpc-openmpi2: replace %%compiler_family by %%hpc_compiler_family- Updated openmpi2-add-HCAs-to-mca-ini.patch * Adds Broadcom BCM57414 NetXtreme-E RDMA Ethernet Controller (bsc#1094689)- Added openmpi2-add-HCAs-to-mca-ini.patch * Adds necessary parameters for QLogic Corp. FastLinQ QL41000 (bsc#1092257)- Create missing docs master package (bsc#1091714)- Update to openmpi 2.1.3 - Update internal PMIx version to 1.2.5. - Fix a problem with ompi_info reporting using param option. - Correct PMPI_Aint_{add|diff} to be functions (not subroutines) in the Fortran mpi_f08 module. - Fix a problem when doing MPI I/O using data types with large extents in conjunction with MPI_TYPE_CREATE_SUBARRAY. Thanks to - Fix a problem when opening many files using MPI_FILE_OPEN. - Fix a problem with debuggers failing to attach to a running job. - Fix a problem when using madvise and the OpenIB BTL. - Fix a problem in the Vader BTL that resulted in failures of IMB under certain circumstances. - Fix a problem preventing Open MPI from working under Cygwin. - Reduce some verbosity being emitted by the USNIC BTL under certain circumstances. - Fix a problem with misdirection of SIGKILL. - Replace use of posix_memalign with malloc for small allocations. - Fix a problem with Open MPI's out of band TCP network for file descriptors greater than 32767. - Plug a memory leak in MPI_Mem_free(). - Drop btl-vader-change-the-way-fast-boxes-are-used.patch as it merged upstream. - Add fix-rdma-component-selection.patch to fix bad rdma component selection which can cause stall when running on multiple IB nodes (bsc#1087031)- Enable --enable-mpirun-prefix-by-default (bsc#1086821)- Fix summary in module files (bnc#1080259)- Use macro in mpivars.(c)sh to be independent of changes to the module setup for the compiler (boo#1078364).- Switch from gcc6 to gcc7 as additional compiler flavor for HPC on SLES. - Fix library package requires - use HPC macro (boo#1074890) - Fix rpm macro file. - Only build openmpi2-config for the standard flavor- Add btl-vader-change-the-way-fast-boxes-are-used.patch to fix a SEGV on i386 systems- Fix pre/post install call to ldconfig- Add a ringdisabled flag to allow building only the standard flavor so not all flavors are pulled into staging rings - Fix baselibs.conf generation (wrong directory and name)- Add conflicts between the macros-devel packages- Convert to multibuild. - Move all the doc to the docs RPM - Add HPC build using environment modules (FATE#321711). - Resync spec with openmpi and openmpi3- Update to OpenMPI 2.1.2 * Many bug fixes. See NEWS - Fix VERSION file during build so that ompi_info reports good infos- Remove --disable-mca-dso Related bug was due to openmpi/*.so wrongly packaged as devel- Reenable fortan08 bindings as gcc >= 5 is now the default - Remove devel-headers configure option (reserved for MPI plugins developers)- Update to 2.1.1.186.9a3ac9803c - Drop openmpi-pmix-configure-ac.patch as it was merged upstream- Update to 2.1.1.176.7aa585d4ff (2.1.2rc3) * Too many bug fixes to list. See NEWS * ppc64be support was dropped - Drop btl-vader-work-around-ob1-pending-fragment-bug.patch and pml-ob1-do-not-access-fragment-after-calling-btl-rget.patch as they were merged upstream. - Package NEWS file - Add openmpi-pmix-configure-ac.patch to fix a compilation issue on Leap 42.3/SLE12 SP3- Update _service to allow auto updates from github- Enable ucx only on supported platforms- Fix module file name- Add pml-ob1-do-not-access-fragment-after-calling-btl-rget.patch and btl-vader-work-around-ob1-pending-fragment-bug.patch to fix upstream bug https://github.com/open-mpi/ompi/issues/3821 which causes openmpi2 to fail the IMB test suite- Do not require openucx libs for suse_version < 1320- Cleanup upstream spec file - Disable rpath in configure- Build with openucx support when it is available - Buid plugins as part of the MPI library. Fixes: * Missing shmem support * Missing Requires in RPM - Build with libfabric support on x86- Trim filler wording from description - Replace uses of old $RPM_ variables, remove redundant %clean section, abolish %__-type macro indirection, remove excess piping to xargs - Add missing %_smp_mflags.- Add support for openmpi2 over PSM2 and libfabric - Reference baselibs.conf and openmpi2-rpmlintrc in spec - Add _service to fetch from upstream github repo- Remove version dependencies to libibumad and libibverbs- Fix module file paths- Add openmpi2-config package which contains runtime configuration files for OpenMPI 1 and/or 2- Update to OpenMPI 2.1.1 * Fix a problem with one of Open MPI's fifo data structures which led to hangs in a make check test. * Add missing MPI_AINT_ADD/MPI_AINT_DIFF function definitions to mpif.h. * Fix the error return from MPI_WIN_LOCK when rank argument is invalid. * Fix a problem with mpirun/orterun when started under a debugger. * Add configury option to disable use of CMA by the vader BTL. * Add configury check for MPI_DOUBLE_COMPLEX datatype support. * Fix memory allocated by MPI_WIN_ALLOCATE_SHARED to be 64 byte aligned. * Update MPI_WTICK man page to reflect possibly higher resolution than 10e-6. * Add missing MPI_T_PVAR_SESSION_NULL definition to mpi.h include file. * Enhance the Open MPI spec file to install modulefile in /opt if installed in a non-default location. * Fix a problem with conflicting PMI symbols when linking statically. * S390/S390x support - Drop openmpi2-ia32-fix-atomic.patch openmpi2-s390.patch as they are now fixed/supported upstream.- Add testsuite package- Initial packaging of OpenMPI 2.1.0h01-ch4d 1721738074   !"$%&'()*+,-./0123456789:;<=>?@ABCDEFGHIJKLMNOPQRSTUVWXYZ[\]^_`abcdefghijklmnopqrstuvwxyz{J}~JJJJ     JJJJ !"#$%&'()*+,-./JJ23456789:;<=>?@ABCDEFGHIJKLMNOPQRSTUVWXYZ[\]^_`abcdefghijkJmnopqrstuvwxyz{|}JJJ$(-002689;@(002689;@(002stuvw0002.1.6-150500.24.2.12.1.6-150500.24.2.1manman1mpiCC.1mpic++.1mpicc.1mpicxx.1mpiexec.1mpif77.1mpif90.1mpifort.1mpirun.1ompi-clean.1ompi-dvm.1ompi-ps.1ompi-server.1ompi-submit.1ompi-top.1ompi_info.1opal_wrapper.1orte-clean.1orte-dvm.1orte-info.1orte-ps.1orte-server.1orte-submit.1orte-top.1orted.1orterun.1oshcc.1oshfort.1oshmem_info.1oshrun.1shmemcc.1shmemfort.1shmemrun.1man3MPI.3MPIX_Query_cuda_support.3MPI_Abort.3MPI_Accumulate.3MPI_Add_error_class.3MPI_Add_error_code.3MPI_Add_error_string.3MPI_Address.3MPI_Aint_add.3MPI_Aint_diff.3MPI_Allgather.3MPI_Allgatherv.3MPI_Alloc_mem.3MPI_Allreduce.3MPI_Alltoall.3MPI_Alltoallv.3MPI_Alltoallw.3MPI_Attr_delete.3MPI_Attr_get.3MPI_Attr_put.3MPI_Barrier.3MPI_Bcast.3MPI_Bsend.3MPI_Bsend_init.3MPI_Buffer_attach.3MPI_Buffer_detach.3MPI_Cancel.3MPI_Cart_coords.3MPI_Cart_create.3MPI_Cart_get.3MPI_Cart_map.3MPI_Cart_rank.3MPI_Cart_shift.3MPI_Cart_sub.3MPI_Cartdim_get.3MPI_Close_port.3MPI_Comm_accept.3MPI_Comm_c2f.3MPI_Comm_call_errhandler.3MPI_Comm_compare.3MPI_Comm_connect.3MPI_Comm_create.3MPI_Comm_create_errhandler.3MPI_Comm_create_group.3MPI_Comm_create_keyval.3MPI_Comm_delete_attr.3MPI_Comm_disconnect.3MPI_Comm_dup.3MPI_Comm_dup_with_info.3MPI_Comm_f2c.3MPI_Comm_free.3MPI_Comm_free_keyval.3MPI_Comm_get_attr.3MPI_Comm_get_errhandler.3MPI_Comm_get_info.3MPI_Comm_get_name.3MPI_Comm_get_parent.3MPI_Comm_group.3MPI_Comm_idup.3MPI_Comm_join.3MPI_Comm_rank.3MPI_Comm_remote_group.3MPI_Comm_remote_size.3MPI_Comm_set_attr.3MPI_Comm_set_errhandler.3MPI_Comm_set_info.3MPI_Comm_set_name.3MPI_Comm_size.3MPI_Comm_spawn.3MPI_Comm_spawn_multiple.3MPI_Comm_split.3MPI_Comm_split_type.3MPI_Comm_test_inter.3MPI_Compare_and_swap.3MPI_Dims_create.3MPI_Dist_graph_create.3MPI_Dist_graph_create_adjacent.3MPI_Dist_graph_neighbors.3MPI_Dist_graph_neighbors_count.3MPI_Errhandler_create.3MPI_Errhandler_free.3MPI_Errhandler_get.3MPI_Errhandler_set.3MPI_Error_class.3MPI_Error_string.3MPI_Exscan.3MPI_Fetch_and_op.3MPI_File_c2f.3MPI_File_call_errhandler.3MPI_File_close.3MPI_File_create_errhandler.3MPI_File_delete.3MPI_File_f2c.3MPI_File_get_amode.3MPI_File_get_atomicity.3MPI_File_get_byte_offset.3MPI_File_get_errhandler.3MPI_File_get_group.3MPI_File_get_info.3MPI_File_get_position.3MPI_File_get_position_shared.3MPI_File_get_size.3MPI_File_get_type_extent.3MPI_File_get_view.3MPI_File_iread.3MPI_File_iread_all.3MPI_File_iread_at.3MPI_File_iread_at_all.3MPI_File_iread_shared.3MPI_File_iwrite.3MPI_File_iwrite_all.3MPI_File_iwrite_at.3MPI_File_iwrite_at_all.3MPI_File_iwrite_shared.3MPI_File_open.3MPI_File_preallocate.3MPI_File_read.3MPI_File_read_all.3MPI_File_read_all_begin.3MPI_File_read_all_end.3MPI_File_read_at.3MPI_File_read_at_all.3MPI_File_read_at_all_begin.3MPI_File_read_at_all_end.3MPI_File_read_ordered.3MPI_File_read_ordered_begin.3MPI_File_read_ordered_end.3MPI_File_read_shared.3MPI_File_seek.3MPI_File_seek_shared.3MPI_File_set_atomicity.3MPI_File_set_errhandler.3MPI_File_set_info.3MPI_File_set_size.3MPI_File_set_view.3MPI_File_sync.3MPI_File_write.3MPI_File_write_all.3MPI_File_write_all_begin.3MPI_File_write_all_end.3MPI_File_write_at.3MPI_File_write_at_all.3MPI_File_write_at_all_begin.3MPI_File_write_at_all_end.3MPI_File_write_ordered.3MPI_File_write_ordered_begin.3MPI_File_write_ordered_end.3MPI_File_write_shared.3MPI_Finalize.3MPI_Finalized.3MPI_Free_mem.3MPI_Gather.3MPI_Gatherv.3MPI_Get.3MPI_Get_accumulate.3MPI_Get_address.3MPI_Get_count.3MPI_Get_elements.3MPI_Get_elements_x.3MPI_Get_library_version.3MPI_Get_processor_name.3MPI_Get_version.3MPI_Graph_create.3MPI_Graph_get.3MPI_Graph_map.3MPI_Graph_neighbors.3MPI_Graph_neighbors_count.3MPI_Graphdims_get.3MPI_Grequest_complete.3MPI_Grequest_start.3MPI_Group_c2f.3MPI_Group_compare.3MPI_Group_difference.3MPI_Group_excl.3MPI_Group_f2c.3MPI_Group_free.3MPI_Group_incl.3MPI_Group_intersection.3MPI_Group_range_excl.3MPI_Group_range_incl.3MPI_Group_rank.3MPI_Group_size.3MPI_Group_translate_ranks.3MPI_Group_union.3MPI_Iallgather.3MPI_Iallgatherv.3MPI_Iallreduce.3MPI_Ialltoall.3MPI_Ialltoallv.3MPI_Ialltoallw.3MPI_Ibarrier.3MPI_Ibcast.3MPI_Ibsend.3MPI_Iexscan.3MPI_Igather.3MPI_Igatherv.3MPI_Improbe.3MPI_Imrecv.3MPI_Ineighbor_allgather.3MPI_Ineighbor_allgatherv.3MPI_Ineighbor_alltoall.3MPI_Ineighbor_alltoallv.3MPI_Ineighbor_alltoallw.3MPI_Info_c2f.3MPI_Info_create.3MPI_Info_delete.3MPI_Info_dup.3MPI_Info_env.3MPI_Info_f2c.3MPI_Info_free.3MPI_Info_get.3MPI_Info_get_nkeys.3MPI_Info_get_nthkey.3MPI_Info_get_valuelen.3MPI_Info_set.3MPI_Init.3MPI_Init_thread.3MPI_Initialized.3MPI_Intercomm_create.3MPI_Intercomm_merge.3MPI_Iprobe.3MPI_Irecv.3MPI_Ireduce.3MPI_Ireduce_scatter.3MPI_Ireduce_scatter_block.3MPI_Irsend.3MPI_Is_thread_main.3MPI_Iscan.3MPI_Iscatter.3MPI_Iscatterv.3MPI_Isend.3MPI_Issend.3MPI_Keyval_create.3MPI_Keyval_free.3MPI_Lookup_name.3MPI_Message_c2f.3MPI_Message_f2c.3MPI_Mprobe.3MPI_Mrecv.3MPI_Neighbor_allgather.3MPI_Neighbor_allgatherv.3MPI_Neighbor_alltoall.3MPI_Neighbor_alltoallv.3MPI_Neighbor_alltoallw.3MPI_Op_c2f.3MPI_Op_commutative.3MPI_Op_create.3MPI_Op_f2c.3MPI_Op_free.3MPI_Open_port.3MPI_Pack.3MPI_Pack_external.3MPI_Pack_external_size.3MPI_Pack_size.3MPI_Pcontrol.3MPI_Probe.3MPI_Publish_name.3MPI_Put.3MPI_Query_thread.3MPI_Raccumulate.3MPI_Recv.3MPI_Recv_init.3MPI_Reduce.3MPI_Reduce_local.3MPI_Reduce_scatter.3MPI_Reduce_scatter_block.3MPI_Register_datarep.3MPI_Request_c2f.3MPI_Request_f2c.3MPI_Request_free.3MPI_Request_get_status.3MPI_Rget.3MPI_Rget_accumulate.3MPI_Rput.3MPI_Rsend.3MPI_Rsend_init.3MPI_Scan.3MPI_Scatter.3MPI_Scatterv.3MPI_Send.3MPI_Send_init.3MPI_Sendrecv.3MPI_Sendrecv_replace.3MPI_Sizeof.3MPI_Ssend.3MPI_Ssend_init.3MPI_Start.3MPI_Startall.3MPI_Status_c2f.3MPI_Status_f2c.3MPI_Status_set_cancelled.3MPI_Status_set_elements.3MPI_Status_set_elements_x.3MPI_T_category_changed.3MPI_T_category_get_categories.3MPI_T_category_get_cvars.3MPI_T_category_get_info.3MPI_T_category_get_num.3MPI_T_category_get_pvars.3MPI_T_cvar_get_info.3MPI_T_cvar_get_num.3MPI_T_cvar_handle_alloc.3MPI_T_cvar_handle_free.3MPI_T_cvar_read.3MPI_T_cvar_write.3MPI_T_enum_get_info.3MPI_T_enum_get_item.3MPI_T_finalize.3MPI_T_init_thread.3MPI_T_pvar_get_info.3MPI_T_pvar_get_num.3MPI_T_pvar_handle_alloc.3MPI_T_pvar_handle_free.3MPI_T_pvar_read.3MPI_T_pvar_readreset.3MPI_T_pvar_reset.3MPI_T_pvar_session_create.3MPI_T_pvar_session_free.3MPI_T_pvar_start.3MPI_T_pvar_stop.3MPI_T_pvar_write.3MPI_Test.3MPI_Test_cancelled.3MPI_Testall.3MPI_Testany.3MPI_Testsome.3MPI_Topo_test.3MPI_Type_c2f.3MPI_Type_commit.3MPI_Type_contiguous.3MPI_Type_create_darray.3MPI_Type_create_f90_complex.3MPI_Type_create_f90_integer.3MPI_Type_create_f90_real.3MPI_Type_create_hindexed.3MPI_Type_create_hindexed_block.3MPI_Type_create_hvector.3MPI_Type_create_indexed_block.3MPI_Type_create_keyval.3MPI_Type_create_resized.3MPI_Type_create_struct.3MPI_Type_create_subarray.3MPI_Type_delete_attr.3MPI_Type_dup.3MPI_Type_extent.3MPI_Type_f2c.3MPI_Type_free.3MPI_Type_free_keyval.3MPI_Type_get_attr.3MPI_Type_get_contents.3MPI_Type_get_envelope.3MPI_Type_get_extent.3MPI_Type_get_extent_x.3MPI_Type_get_name.3MPI_Type_get_true_extent.3MPI_Type_get_true_extent_x.3MPI_Type_hindexed.3MPI_Type_hvector.3MPI_Type_indexed.3MPI_Type_lb.3MPI_Type_match_size.3MPI_Type_set_attr.3MPI_Type_set_name.3MPI_Type_size.3MPI_Type_size_x.3MPI_Type_struct.3MPI_Type_ub.3MPI_Type_vector.3MPI_Unpack.3MPI_Unpack_external.3MPI_Unpublish_name.3MPI_Wait.3MPI_Waitall.3MPI_Waitany.3MPI_Waitsome.3MPI_Win_allocate.3MPI_Win_allocate_shared.3MPI_Win_attach.3MPI_Win_c2f.3MPI_Win_call_errhandler.3MPI_Win_complete.3MPI_Win_create.3MPI_Win_create_dynamic.3MPI_Win_create_errhandler.3MPI_Win_create_keyval.3MPI_Win_delete_attr.3MPI_Win_detach.3MPI_Win_f2c.3MPI_Win_fence.3MPI_Win_flush.3MPI_Win_flush_all.3MPI_Win_flush_local.3MPI_Win_flush_local_all.3MPI_Win_free.3MPI_Win_free_keyval.3MPI_Win_get_attr.3MPI_Win_get_errhandler.3MPI_Win_get_group.3MPI_Win_get_info.3MPI_Win_get_name.3MPI_Win_lock.3MPI_Win_lock_all.3MPI_Win_post.3MPI_Win_set_attr.3MPI_Win_set_errhandler.3MPI_Win_set_info.3MPI_Win_set_name.3MPI_Win_shared_query.3MPI_Win_start.3MPI_Win_sync.3MPI_Win_test.3MPI_Win_unlock.3MPI_Win_unlock_all.3MPI_Win_wait.3MPI_Wtick.3MPI_Wtime.3OMPI_Affinity_str.3OpenMPI.3OpenSHMEM.3_my_pe.3_num_pes.3intro_shmem.3shfree.3shmalloc.3shmem_addr_accessible.3shmem_align.3shmem_alltoall32.3shmem_alltoall64.3shmem_alltoalls32.3shmem_alltoalls64.3shmem_barrier.3shmem_barrier_all.3shmem_broadcast32.3shmem_broadcast64.3shmem_char_g.3shmem_char_get.3shmem_char_get_nbi.3shmem_char_p.3shmem_char_put.3shmem_char_put_nbi.3shmem_clear_cache_inv.3shmem_clear_cache_line_inv.3shmem_clear_lock.3shmem_collect32.3shmem_collect64.3shmem_complexd_prod_to_all.3shmem_complexd_sum_to_all.3shmem_complexf_prod_to_all.3shmem_complexf_sum_to_all.3shmem_double_fetch.3shmem_double_g.3shmem_double_get.3shmem_double_get_nbi.3shmem_double_iget.3shmem_double_iput.3shmem_double_max_to_all.3shmem_double_min_to_all.3shmem_double_p.3shmem_double_prod_to_all.3shmem_double_put.3shmem_double_put_nbi.3shmem_double_set.3shmem_double_sum_to_all.3shmem_double_swap.3shmem_fcollect32.3shmem_fcollect64.3shmem_fence.3shmem_finalize.3shmem_float_fetch.3shmem_float_g.3shmem_float_get.3shmem_float_get_nbi.3shmem_float_iget.3shmem_float_iput.3shmem_float_max_to_all.3shmem_float_min_to_all.3shmem_float_p.3shmem_float_prod_to_all.3shmem_float_put.3shmem_float_put_nbi.3shmem_float_set.3shmem_float_sum_to_all.3shmem_float_swap.3shmem_free.3shmem_get128.3shmem_get128_nbi.3shmem_get16_nbi.3shmem_get32.3shmem_get32_nbi.3shmem_get64.3shmem_get64_nbi.3shmem_get8_nbi.3shmem_getmem.3shmem_getmem_nbi.3shmem_global_exit.3shmem_iget128.3shmem_iget32.3shmem_iget64.3shmem_info_get_name.3shmem_info_get_version.3shmem_init.3shmem_int_add.3shmem_int_and_to_all.3shmem_int_cswap.3shmem_int_fadd.3shmem_int_fetch.3shmem_int_finc.3shmem_int_g.3shmem_int_get.3shmem_int_get_nbi.3shmem_int_iget.3shmem_int_inc.3shmem_int_iput.3shmem_int_max_to_all.3shmem_int_min_to_all.3shmem_int_or_to_all.3shmem_int_p.3shmem_int_prod_to_all.3shmem_int_put.3shmem_int_put_nbi.3shmem_int_set.3shmem_int_sum_to_all.3shmem_int_swap.3shmem_int_wait.3shmem_int_wait_until.3shmem_int_xor_to_all.3shmem_iput128.3shmem_iput32.3shmem_iput64.3shmem_long_add.3shmem_long_and_to_all.3shmem_long_cswap.3shmem_long_fadd.3shmem_long_fetch.3shmem_long_finc.3shmem_long_g.3shmem_long_get.3shmem_long_get_nbi.3shmem_long_iget.3shmem_long_inc.3shmem_long_iput.3shmem_long_max_to_all.3shmem_long_min_to_all.3shmem_long_or_to_all.3shmem_long_p.3shmem_long_prod_to_all.3shmem_long_put.3shmem_long_put_nbi.3shmem_long_set.3shmem_long_sum_to_all.3shmem_long_swap.3shmem_long_wait.3shmem_long_wait_until.3shmem_long_xor_to_all.3shmem_longdouble_g.3shmem_longdouble_get.3shmem_longdouble_get_nbi.3shmem_longdouble_iget.3shmem_longdouble_iput.3shmem_longdouble_max_to_all.3shmem_longdouble_min_to_all.3shmem_longdouble_p.3shmem_longdouble_prod_to_all.3shmem_longdouble_put.3shmem_longdouble_put_nbi.3shmem_longlong_add.3shmem_longlong_and_to_all.3shmem_longlong_cswap.3shmem_longlong_fadd.3shmem_longlong_fetch.3shmem_longlong_finc.3shmem_longlong_g.3shmem_longlong_get.3shmem_longlong_get_nbi.3shmem_longlong_iget.3shmem_longlong_inc.3shmem_longlong_iput.3shmem_longlong_max_to_all.3shmem_longlong_min_to_all.3shmem_longlong_or_to_all.3shmem_longlong_p.3shmem_longlong_prod_to_all.3shmem_longlong_put.3shmem_longlong_put_nbi.3shmem_longlong_set.3shmem_longlong_sum_to_all.3shmem_longlong_swap.3shmem_longlong_wait.3shmem_longlong_wait_until.3shmem_longlong_xor_to_all.3shmem_malloc.3shmem_my_pe.3shmem_n_pes.3shmem_pe_accessible.3shmem_ptr.3shmem_put128.3shmem_put128_nbi.3shmem_put16_nbi.3shmem_put32.3shmem_put32_nbi.3shmem_put64.3shmem_put64_nbi.3shmem_put8_nbi.3shmem_putmem.3shmem_putmem_nbi.3shmem_quiet.3shmem_realloc.3shmem_set_cache_inv.3shmem_set_cache_line_inv.3shmem_set_lock.3shmem_short_and_to_all.3shmem_short_g.3shmem_short_get.3shmem_short_get_nbi.3shmem_short_iget.3shmem_short_iput.3shmem_short_max_to_all.3shmem_short_min_to_all.3shmem_short_or_to_all.3shmem_short_p.3shmem_short_prod_to_all.3shmem_short_put.3shmem_short_put_nbi.3shmem_short_sum_to_all.3shmem_short_wait.3shmem_short_wait_until.3shmem_short_xor_to_all.3shmem_swap.3shmem_test_lock.3shmem_udcflush.3shmem_udcflush_line.3shmem_wait.3shmem_wait_until.3shmemalign.3shrealloc.3start_pes.3man7orte_filem.7orte_hosts.7/usr/lib/hpc/gnu7/mpi/openmpi/2.1.6/share//usr/lib/hpc/gnu7/mpi/openmpi/2.1.6/share/man//usr/lib/hpc/gnu7/mpi/openmpi/2.1.6/share/man/man1//usr/lib/hpc/gnu7/mpi/openmpi/2.1.6/share/man/man3//usr/lib/hpc/gnu7/mpi/openmpi/2.1.6/share/man/man7/-fmessage-length=0 -grecord-gcc-switches -O2 -Wall -D_FORTIFY_SOURCE=2 -fstack-protector-strong -funwind-tables -fasynchronous-unwind-tables -fstack-clash-protection -gobs://build.suse.de/SUSE:Maintenance:34857/SUSE_SLE-15-SP5_Update/b00f42ed032dd147f029de6566ea980f-openmpi2.SUSE_SLE-15-SP5_Update:gnu-hpcdrpmxz5x86_64-suse-linux directorytroff or preprocessor input, ASCII texttroff or preprocessor input, UTF-8 Unicode textAlgol 68 source, ASCII text, with very long linesC source, ASCII textC source, ASCII text, with very long linesC source, UTF-8 Unicode text, with very long linestroff or preprocessor input, ASCII text, with very long linesC source, UTF-8 Unicode text.PCutf-8dd040ce700707069886510ff916155c64dd428c11c93103f42367aa250e2b89c?P7zXZ !t/@n]"k% N4z5)d&+;ldJA)0b-akѷ0cc=zw0⺈Oe:h S[JYJtZ/y+G:v!hçoP"4V;f\cPJ(sb9,H1yR^ĺ;(^쐳\oU+>l"iIHLO d̙_INAM[{苿M0DkG{j-f (ޔgpҠ2nzMUTrj6@ua-.fsU:`3rPм0^#ULabUk!6;iy%[FIϠD٩&@Q240ύ C6-xd &;/݃* F?N'p?̾H9g*Rd>3+<+yh'_d3C|)n`z6ԃk7V*HaͫV*d%ՉS-|YHocFPsz+ WP|=0dn MKq m%GhBHt3Lk8VLZi>S)ƭl]>5-@هk8UyȿJ,rt8Oh%5N/b' }iƋa͉Aڲ:=o`RT.*[W0;SrU /0c5MG  INċ>kӱhXuLeَ;Mi_JM`t&\C7.StƘi9OM=*k,9: D!IU^ vU;ѭ>% >午@oq}y8Eo p~đDSFe`9Zv}]b!_cq;NĀZ^3:okDx<Ԋsco yxTyg zAS2)wZ=kA Elg<2ͰblizQ; m["-x!:7~yz E6 ~On8Z H4dދJ P=m@2ݬG,ƍi yb[Ϳh"ըlow)Ǘ$2#kw [ₒ~Y,CCdbαxYɅc ,[6'}% ҧ]>9t$(s u<V%iay3ѕ/.ϦA̓+:F%毿N@lJwdW|stт"耍9'-<6{6+ +D~[RVgC%b{]cS D0;! +OsM7cɪ. R3Zj C{Z&YBd`ޢV'o ⻩C-e?J$ %VE-tA2AV S!]x-B{sZ5>)F+g-0dhWZ%kA-5&g"e=WqE( Mm?{<2:`n8TK0H7OF_+fw%¬<ȫj{̓+e(=saol ="F0TSWE|)1x"W!2HDnN+!eMp,F5(o/hvBir#SY@,K "Wܪv[ {(A7[4$֊^WjD\\ 4OLo=!ү,[#esL|6N?(U1xy AwlGKK_+p~{p~4$[;󌕴b>Oa  ^ѠRLR4gO7^_FxDQ#. ((PY) 9P<mƫݫebQ"64\KwU)zABQ܇y&\P Uu@v&"nm0#e3ww_\ۢ~كH1{^hjej e$G"G3#Nk7wCY4لF;8Z:T\Ohy.,H؄T[D98U[Hj0Ŀ[;uۣ(Ċ}ԯPyXS^6híܸNR+!.{xEu(]%V1&qע\%dX1|OWCZaz!1Quj?_Ays#cr7"B7I.mĜ=Z+zlmjUqdumejxD0ʣsCMvrη ڵR / 9y2[B5ulτ)]P/ RF7͉ϥpxre%5N(4O`'NWiN\/> y*# 3Q)TnG!i%>W+uj~ BZ+H:O.mSi[BoBPk I)ߏjBd=TD葞x"m)L<*p櫶_EZsf.TH@M*B Ôڸ~]FB\}_&T.''~ljV1)ᩆJ:絝S!ͦJʲJ]ΒG(Ǩ'g+hv.P㷊~9F5RcJ) "aɶ9JLIiʷUn|dB'^,;q@vZ e3WBMyn@3858v 9ȉ9JGBv.>SfRHGǿ>br"5a̎K?xDq|p&+!)2DW9!1hC=7#Zim,J/-.>.j刜`5^$iJXסltPIR-4'm ?j)DΆ:&xS.].~爐'g[[ܵ$b'A $APA)ck$v_J[ E}~UM Πz)Urึ},qWYl'ʼnd"'poϸIH^:G:|J"t6C+s3u=6 0dPsK?6lg||d7w`г::hp$چo z.!.BoՓ@:?;sB*GzѕI_V'{BH8MFᜯZ"[ѿa7\I >)R|J"7 筻fF0[ Co'kVZs}ID̯ƤT$H4A ^X96t da-ו fRhpq})H>qYP+z0MM9Xw"L :v/1&+jQ"\yti>ڦG)*ٓqCC7Dd!Bqqa]{:k />є@Dfj$U#R~fV2/Iķ-*z/[ylxUo`Z|?Vr UZ(UQNdeLGCIk g`hnՋY ?ļ*rHC >WwQqķ g[NAEx鵔jr9Jc|azl;߯Au` v' &봷l3Z C'l%h>[$b .hĽFπXCh ,_x H'{>+@+a(*ͥn)ć\4#Q;a';۽{RWa{<%He=oG-Х?^ 3(FPc*S-[vo9[>BceRށ3Œb!G-t]:Sn_m<@鶂'@v##Cv$zKy}Y||C@}|?OБ Pi )!)ZC;sͨ=7_x[*vkX&}u5;IgbxWgւ>sMf*,W#Q| X^ Lf2[L25os!|8L;Im# bA@@n:QqyQ:w:|cr>ۧU%?+/v%5oxƉؘaEfTش N!p6PA]|#KғiNV5c]knx8 *[HAwi MZ'z9iy1lG#%f]b$hdm(P;!ZI[ݳq-9NaQxX?%Ar _XޥY5ݨ28/v<*(v](ԛ̻̐F43Nz9]&z| 7(x2q.)R*do'f"r+n%7tr߃"ʶZ-Ln]ڵ]EcFu S]l %:7 r)" Ůci?ӵuUQ9=٨K+ ²^0{sO'75|gzmoUFa)n}{S] <~I]W4EÔ,R;,!D3yr4 HiJ14k8#$.Y/x^TG\:I r-^*fx\Ybs9QOuʧ5Bל/'f[:PM\%v(?eOlV&7;v>=VlVNwC[&H0Q%>pUC!.6I'0{y&8GK;mȍv!y^. }kohڞ6]x+W2k ِ>wݐ0VK bnrK (0SzeJe~ rn]ΰc _"8 %r#I\s}=lŮP=B`Xk w/7> YZ