openmpi_3_1_6-gnu-hpc-docs-3.1.6-150500.14.2.1<>,fq'p9|fLE  M.^@e~9`"ci eE2xcu?p +|fna|b0S$C@ vDŚ#Mtq([e2;*!Zi"*8î"L2#Q:xF1(瀘}t䦭>NywY7l@ḏ&H>;?d# 1 d %?X^d f  #h ϓ HKm(809`0: 0F2G2(H<IGXJ,YJ4\J\]U^bcdeflu,v z;LPVCopenmpi_3_1_6-gnu-hpc-docs3.1.6150500.14.2.1Documentation for Open MPI/SHMEM HPC version 3.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.fq's390zp335hSUSE Linux Enterprise 15SUSE LLC BSD-3-Clausehttps://www.suse.com/Development/Documentationhttp://www.open-mpi.org/linuxs390x^ ^ :   :  [^   ,$^   B^#i    y @O L % } \ A  L V\  8  xtx _  64lD ]y ' 9  >Z b*  l 5 W  g ] lt <  R   XBrg , C }  ?   > ^ o . [ b i D"9SN# 8 W b oO ' + {") mW >c t   J "#!""= "  < 2i Z $   T ^ND"j00 = / | #G,}<  r}|% b YH z H:t $# t JQ#$ #M%Cp *Kf xo) 0Y V w g Zw !$  / < ee } }.bh3u IG > J  wG,  < ) 2d  { Y v>E!f c E#"#"""#"""#"!H" +n""!#$""""!#"""#"""!#"jd c#s#[f') {   @  @/AAA큤A큤fpfqfqfqfqfqfqfqfqfqfqfpfpfpfpfqfpfpfpfpfpfpfpfpfqfqfqfqfqfqfqfqfpfqfqfqfqfqfqfqfpfpfpfpfpfpfpfpfpfpfpfpfpfpfpfpfpfpfpfpfpfpfpfpfpfpfpfpfpfpfpfpfpfpfpfpfpfpfpfpfpfpfpfpfpfpfpfpfpfpfpfpfpfpfpfpfpfpfpfpfpfpfpfpfpfpfpfpfpfpfpfpfpfpfpfpfpfpfpfpfpfpfpfpfpfpfpfpfpfpfpfpfpfpfpfpfpfpfpfpfpfpfpfpfpfpfpfpfpfpfpfpfpfpfpfpfpfpfpfpfpfpfpfpfpfpfpfpfpfpfpfpfpfpfpfpfpfpfpfpfpfpfpfpfpfpfpfpfpfpfpfpfpfpfpfpfpfpfpfpfpfpfpfpfpfpfpfpfpfpfpfpfpfpfpfpfpfpfpfpfpfpfpfpfpfpfpfpfpfpfpfpfpfpfpfpfpfpfpfpfpfpfpfpfpfpfpfpfpfpfpfpfpfpfpfpfpfpfpfpfpfpfpfpfpfpfpfpfpfpfpfpfpfpfpfpfpfpfpfpfpfpfpfpfpfpfpfpfpfpfpfpfpfpfpfpfpfpfpfpfpfpfpfpfpfpfpfpfpfpfpfpfpfpfpfpfpfpfpfpfpfpfpfpfpfpfpfpfpfpfpfpfpfpfpfpfpfpfpfpfpfpfpfpfpfpfpfpfpfpfpfpfpfpfpfpfpfpfpfpfpfpfpfpfpfpfpfpfpfpfpfpfpfpfpfpfpfpfpfpfpfpfpfpfpfpfpfpfpfpfpfpfpfpfpfpfpfpfpfpfpfpfpfpfpfpfpfpfpfpfpfpfpfpfpfpfpfpfpfpfpfpfpfpfpfpfpfpfpfpfpfpfpfpfpfpfpfpfpfpfpfpfpfpfpfpfpfpfpfpfpfpfpfpfpfpfpfpfqfqfqfqfqfqfqfqfqfqfqfqfqfqfqfqfqfqfqfqfqfqfqfqfqfqfqfqfqfqfqfqfqfqfqfqfqfqfqfqfqfqfqfqfqfqfqfqfqfqfqfqfqfqfqfqfqfqfqfqfqfqfqfqfqfqfqfqfqfqfqfqfqfqfqfqfqfqfqfqfqfqfqfqfqfqfqfqfqfqfqfqfqfqfqfqfqfqfqfqfqfqfqfqfqfqfqfqfqfqfqfqfqfqfqfqfqfqfqfqfqfqfqfqfqfqfqfqfqfqfqfqfqfqfqfqfqfqfqfqfqfqfqfqfqfqfqfqfqfqfqfqfqfqfqfqfqfqfqfqfqfqfqfqfqfqfqfqfqfqfqfqfqfqfqfqfqfqfqfqfqfqfqfqfqfqfqfqfqfqfqfqfqfqfqfqfqfqfqfqfqfqfqfqfqfqfqfqfqfqfqfqfqfqfqfqfqfqfpfpfpfpfpfpfp389339d6a6411a416b455653a68bae21962a6a067fed49f5e45ab7b7f17fc93f7644123cfef8187ae07790f938b8ea9319322b88532b1afc596b39d849d1039163986b5085ec67a18b6e8cbfcb43e46e09c4fc3c2817cc3c7d1a3b0848ba0322c2051d70d4c5e09206fef7f44a3e11e4d8a0cf6fc2def60558c811c5136cf1baeb7e2b6c633b786cc1359b50b7dfecc1c668a0102e3b5390886b4907731ea5c2eb7e2b6c633b786cc1359b50b7dfecc1c668a0102e3b5390886b4907731ea5c2ab7c4709f78b07c69b8dfe8a3f6995238fb882307355d6ac653b68016577878cc2051d70d4c5e09206fef7f44a3e11e4d8a0cf6fc2def60558c811c5136cf1bae63d803b8281d1a756227161a613552126079835e366ad214fae222e70ebd6f546a3733c8a8f71f6957b0e2c3f9c83da9f8e7d558795e9ae34549d0190bcda8ad65b4b06d5b936d3247b97caee789c128a4b671556e22849b8e19985a17f6524c51059fc5ca7721517c3a4dfe997437868f4a92cf3f637a489d624ddcf9651c499a92f604114bc5d534cb34682cc31ad1c43d0d132870941aab6304458a8668882ef49cc3617fe852745addeb259b51d113df342235f97633452570cc7967586e63d803b8281d1a756227161a613552126079835e366ad214fae222e70ebd6f5f99855957a2a0212fa0f39645d7ae4701a6720d4bee0eaa556a0aead339eb49153fa3c620bf5b7f79c4eaecf50d433c890a835e4a129b87019fdbd48495a9ffa46a3733c8a8f71f6957b0e2c3f9c83da9f8e7d558795e9ae34549d0190bcda8ad65b4b06d5b936d3247b97caee789c128a4b671556e22849b8e19985a17f6524c51059fc5ca7721517c3a4dfe997437868f4a92cf3f637a489d624ddcf9651c4a760edae2d1e55d96ace42f79ffad24b2f482bb3c98b076109a7480058aab1d5c2051d70d4c5e09206fef7f44a3e11e4d8a0cf6fc2def60558c811c5136cf1ba8de7bdae137580cf263c5b40b5c693e153fdf889950a5d4bb9e154513f28a86f52c6b9213c3799d38d368be997b9013f3d8e3b86183d47ef69083511b1c7f6e22bad61a125926bc5c3533c6a379323fad8b3e2df8a2bb4a7fff5057adcde67b81ce5e6055c0d023d7edb81d5d82b3ceee1e26d55c42994b27ee0509333ef66329cd5899eaa79d9730cdd4b46409600ca3beec44319930f38388a579f2e9849ceac98196d4c9aeece1d67d5744f5cf3c49c7f7936d591c98d638ec45b3b1f00bbc2051d70d4c5e09206fef7f44a3e11e4d8a0cf6fc2def60558c811c5136cf1ba0f458e3bfd6ed948157b43e0a4a733afbae5cde150921fc0a26e4e33e15b0e539e872db19ecd688b8eef5a82c8a9d61ac8b6419a3717c8712beae2e4a04903038523cd973c981a7285d2c3797d7c705b0a5263bec50a437c3bc6cc26c852595cfacb05743f6baaebb558f019686a6faf73a09de754434cd1a502e29757fb68c775e0a3deb433917663a53e1c7aae1b3d4ceacbb8a4d598935522440b8e025d28dcf888f1a98e870e1002e596f194837a19907cf9bd2de85d45e7be76cff92d8bc2051d70d4c5e09206fef7f44a3e11e4d8a0cf6fc2def60558c811c5136cf1ba621948aa1680a5897337a2ce67ccf1efb65f10888f83e7c3eca965aea9601c4c3283b73281572507d91ec344ea9bca3de66f9d1af187f0e0e9c3f2a4c028947d9ae6c2279891a3931d4385b29bb67ea9f805a08abd2aeff2d861750766113e882ef17533b1a14f6a9e876e704f2dc08584cb87d7e96404b08ac8750c9f1890061f4ef3521c6056db652d77e6c320593285583847d6aa43645f7b0fe43338145b19d577402f0b9be699c2b38a30a8c099eb2b063b8e3392820b800c72c8b970fc09a3bed2a168ec2c43a687526f28df9db5a58378aa10c51aab2bc9385b8471c0ae40ffd9c577d6254ef86d8933a37d4efba9a16cd1f0a6e499e70f105a6d9bc43076102659a69ab1b5834dbde67e6660065559704304a77922bdc17676e885aadb4dcf0a4be173ceaa3d1cfc79f6944c9a918b30d9f6e54e6e9d2f415e6b7835f0e081e8c9cfdbb10311481398b86f92a63e2d1ca263bf395a37a85dd7d910f9fa24eb9c65f0da211792ce3187a7fc48380c8f7abd3035ceee417546540039f0c083f858d26585fc6e58d32ba618a291d3277798788ede927fe6e5ea77fc326f634e879f5fb4ff37a8475f373f0f900f4f5ca41e39a51101f1e33546150fb28842d3ea4fb26ec2232a5bdea682358ad35449927c787f3b5e433215d070e8b4cb1e24a1da008e2c4bde2220202baf20c114857f9f1a406ce7dda2b8af4e2b29ae14374774f1f925e1a3b79117eacb190c760c631e13b7db332ed4de40c1b444dbe516d9b4e9308d6f299bec541512e64261afda2a87b6907ea9ebc173752ffe2d15dea451fed931d79b137b91790c465d3618a287dc31e799eba79f9e6ff8443b781af18b8a8aa646a6c3fff56684152f0f2f7e45146a294eeb85812832557b84f4b15c614c8274c1f620a8a7b71e761702e1a3a99a006b0f4754b9325bf0f3bacef8662850cb50ab9b62e27e89e0af4c3930ac971a0039dc9d83a12c1ab048a94320988045ecfcecfcbc608ef2a0298596d808d993a8c6b309e736a808cf6066a95f6cea2925db3e0db99a462e81354fb187c187acfa692c04c7ef931abc4638545b07092fcfff26ba4466d9d0e77cd98483d4606caee3546dc133c2f7156d3723e217ded1b895a5904f74ba40e22db1818491fa6453f207e1dbc3e04bb6154e3dd0f2bf009ca921f44c492ef58491f4b8e4641cf4b7b77ff4d6eea423c97aad601ee6230a488cc96a1e9c6728923c9ffb60fdd38d1f04b288c2d05b0b18f1733a4aea8073dd41291a8c6b2482463aea5ebc7ea692e7698da4a1d188593d35aa814726509ff7785bcf12861ee73d45a7fe617610119f73ae946003f6fb91c3d0275bc9225646aedd92f8febafa89ffd6a94ff5af0c51a081e6bd4955f0d644a55980746dc16473212e785ad8115adf460865318814c92cc76005de8edbb4cf5d1ceedefa4cfb3644995a38cc1a7e9ed04d17d39fe3b1331237528e75527ee35b2b783998700adb3ee0e6730575bd4bdc1033d48d2d6d039a8fccc383ab59b476190db36e0296c7e4fdea4a8de4f420ac98ba4abc8b6c120f31ff42ce9a57d98d8bf690112040f05a328d0e988469aa7f9271261305004ca4ef0bf80784eace43d89b140cdf5a1d1a6d2b19216e08f2ad99f0852c43033730dee0933228320d09bf94917bbbe164c53e862ab338b0048280bfa67bbf66f6c97c3010d0ea37304a1793e5ff6a64dd224feeebd7ef7d7163ae7b3e3e488884c4ddc65a9c8b1eca1afe72d0f82cb1c2e97a77564a46cddee0bd641fee039e17c1ffe53dc19873f11a003bc3b4057d25b86b0c08cea00240d3363a90ac7bb7b7c266e572a2fd53aa88214c2f0663f11f08005c8b25d2cdd4f3a3c1beafd367141f126d278544079ce17dead9047dff4bbb024e5a249db019339b91a21165fae2058c86e0e19cec4999584477c2098317c2f8f848c6b2ad51bbdfa8b8f0bc8557c7f7fe9b4c6b28750b5c6d943ce7527ca36862d8cb182b35252860d2328ba2761473c8d8344ef47e925e13998e68a092e86397f9283c1b03ee062ad507c80a121f4bd5dd33f223b12c7ecc3625d3dc02676a7fceb118dfe8a9c45e82b867c26cf9fed1a2f8a6575eae2649643e2b85626e5659bfd804362956c17b5f7f829bd8423d9bf80b1f49ca8922c2918c43cdc66d6cf485a421dc3790f9d1344e45429e9f1d2786f6d2f6978b3238abaeab8d57ec2c0d4b067ce4fafc34e4307c9ba563f0eb605c528c5ee3efcb4858786cd18b28bd2ba90dd44246315ef8ed45841aaeadf36557ae53539ec81f3453b23f9e19d33097e68ace781bfef655394e3c579e3ddfed503cfd09885fe899665ee3ec9720f790d8faddd0c1ca6bd8cb9b7a8d9956ed8018dfd38082ee84cc5938e59a3ca5080c89df2bb789ac430be3aa318353eeae9ccaa514c3fdc184c1c1e1b8099e7ce76b6e4cff61751257342b17969ac850da1f2805b00d30e0f2186ba191de9c3ddcfe69d782fdf4e3f2df2b0ef658acc4ca930f5305df0edd83dbcb885cf790a3e82786cef3c0d145960f1a0671cfbeddf73dad118a1af792bdf4dfad8a3dbceafbca4aec69c209f7bd7401e2dd58bfcbc2b8722327c3960e41a80027feb4b277e2789dbaf7efcca0c96614d9519aa6b92cbd718fe218c4a07fc20e2508327bf202fff28ae5199c2c1db735e8a487c9ba92e06bad07516ef59c22623a9bffeae647730fc9fef5b0579f5ce0eb881ef7002c8e72c4ad311f5b504ee1dc832073e9122c994625d83bd13112c887846ec111e59558d4df5cccb53fa910ef2e5dc7fc63ffc464f2e3aeb1f21ba652318a3652aef6856c62624db63bb21ede5d5ad69afdec1da83f8d2537664f178fa6638dc7294697d8f7e895f783c4336e01470831970b58050185e6d6a562e0f9f64ee220b82dae66a90866dbe8dc543af91791193d221590ab611d1ae03a494c41fa55ed43a31636a7190ff6ba30db8be47dfca5ad56cdc66bef5f67cef81022915dd8707c961ecc0a95f485303b5f1c4e87f38900460912404eb72f610630140c7cc2700fc8e13b707ccb9ceddf3e70dbc42e1300682f15d4e0491a9cb7c5fde72e965a180929e5dba93ed10d9d3917bbf375d39f5d3a3d8fa71935fd23d2845a86eeda8ef8ec76ee07f594564690f1fcc4baf79547b63aa1bcdb1424c7302a6fdf424e16d09ae219449237a0b9929a48b12ba29f0c6846ea15bd241acd2b6444ab18c20e85fa0f47a2537413e134d2e9f8f36f85a01252a6f24403656ce6719aa4e389e459a9d9d84e45d1c0706a8576ff7f3710b1ae9c439296f1e297cca565e6c6c84232b76fd7f017a540bcf910cdb11e988affb084c6d38adbab6d675a4c57a41172c65be5e29baaf8ef75e26aabac4f2037fb0141147e13b21ed48e21aaba097cdf87b8c42711a163d30b5c950f097676017c3bb1523deaabf321ee2d3335e62a1a42738293b256cdfee12b949d5b29018a56203e76f0f108fcc5940cb6568e17bf8d55b06c0b3d6f0480225d0c6286485a59e195ca549edd8b5a154790c3492e37026902f5c2fd061aa4ad65601ff2e54f6b852b450203c8a60a3e7bb92c1c83b490475bf3dc1ff1599418503332035d42e7ba15b70b84d7b05db66d29f3dd37dc7eee142453146c0470ee855c9368ccc7cae5fc9c6d9ff268224b0f9f7ea0f22c66a74bb5d14c6b262cffebe4d5be3a4ae722941343ed65c90c1c0b8843a51168c8e00f34969ebecda4e4b70895b1a5380805636af708b7b8a652204fee14c12bff69948a10ca54fc1e0ea3deb92f9ec3395aee6ead2c2a0f6146c4939b4f55a35d156b50d57a3ca3b4fb5ec627df9fa627953645e9edc4a2781b41fa5c812dcaf77c507d74fd99ef9d157cf0ba8719312fde71c07ae5a1d6e7b1f6d01852cabac38204a9bdaf42bf94917bbbe164c53e862ab338b0048280bfa67bbf66f6c97c3010d0ea37304a5558b5d9022c915285cbf16ad05aa4d7ab7f9f51033219950f6e2ae96ad0f9218aac4817e6fda6dc687cf7b0d01e5f4f98b818388a2b5c92c1f0f0d14aa219350e1659843457fdb71786acd5fe321938c586e426dddaf824d0dad8e9e120a201afe08b32043c8b18bda3e2943d641dff6a7ca345b68c6acc92ae53dee9897256112000e8e6ccb76ea881d9c249f2887e6c789b619de59898326729b8c622f1b9bd6202a717cb1932e7233dad94bcf466821c989cdd8c510dcab67d91e9e28e668b02eecb75489858d38ee6aa973db4babaa64e45ff767844a9f3235b75a5e8e88e859451566d0c1287896d6bdc0ebca6d686106d25975c03a5498c04ef0c43c6509b312260ea551136ae015c4bc8cc8f643b54ee37ba9674a44a5e5e8f1a93f0598d71d5c46f8c6561bb1384594b582dec98e06ba897646ddc52fad930da60ea5004649c68f13848ab826533f9c23f8fb78a9f69d458f675e4db6f1ee75f67bd1ecf3a709e6e26729627fb1a0eef456eedd3c0f584cc95017db881765c00bc5ff15cbf686e7b3c7bf2b1d6fcc492d8ee8a38d2271b85f15eff34a8335551f904e517de853889b06c38daa04cc2418e7299aa0ea518a0a788304425576065dc43c5bacb6aacfd5b01239f94de9165254e428e7c613467979703ffb80c9ff65595dd0c3af3d28704dfa4d24879e5a22d0c599a3639bf395619ab18251fdd567687ee6ac24691c840f8d586adc06253bbc0144ebe0e7a5f5acebcc28f5b2ca6c7aa4e65320e7b3bfd89cfe1d56959cebcceda3159231fc564c04d70ffb6576209975b57c7def787512f736f26308699b7b9fbc7f280fbff0a78e52ca8543191f01ad0224e8e1e556f7bd6a488002ae14d343a6015955093c81b5c444adf0bf79d5085946092dd6f0091601afeda2d2cc93e6c1921aa4b7397059c68cb15437b5db987bba92242cb3f56ecbe11c9ba73ac71a4cc7a3300e64f893d3b415de5ea77c2f924039218631a5d59ab1a8d4675e3ca40191dd1bac73c46d984649b1879608708ddff8ccbc69a00e4b8c061cdfdcc939e465e439e6c194d46394a3fb3b208cde6bfa705b5907cf85d455ac854dd0cdbaba64748387a06b7a9b25abb9bc140ad7b9c687629ee829c2722c6f3a5113cff16264113752ee7777b075bc23b0e57d54c94ba7a95e2e1d73f7b3b4d1de331f14b80acfddb6a77ef5a58ef7d0d6f59bf90d25d07acbc1c64ec9ec7810eba2997783bee10daf4a26f936433f4853c15924229636af297ffc70c875aab1346b26f58c8824acf77cac46b01f7a98036f897bf4d9d2b5172fa36f0be24468d0bed29c548432b6acafd28417a9addcbee56530fa513383829cf9ec3d8d6eab94b4cd57beed7f05b5e0f4ca03be59d7d4401cd09f41b5329a51fa90b69c187d5af1e648f9825ca9fa3ebd8a0d15693812035df9d5be8d1d6226a3c8c53e39f106b76833766adf0b1929553ad702b4a7e19f1a41dec70121b8b59a00ed6fda03f3bbc55bccbdbdabf02d5e874b60de982b3390aa8e019f0684734bf48a1a4101bd28cdc804e9d8aa28a9099cbc94d9167843e070100d693d0717ecf030a41bc44c7d04b712baf74e8e1e3977ca2976d065c6fe6ba9c27b966c00f5845f3d7a20ca7a2b0f73f7b06c624130fff31b3baf376354d8fd62c45612d2b6466dad629c8693d1ea6821f6b77778f3e7f6862be4602b249ff7cee7ed7be80a7d0cc4b3b1cc16d86fa0b1e00f26272b42b7db737efe99df200020be2790e530a6f76b48fd3e9540c6d6567739dc8c372e6b6b59c109913b2999f0d199adb53a4bf3f3d6abb530d07c4dc365b4f2493a69764f07ce04882fc8251399454f7688a18b5a84501754ab5cabe3fe39c5debf8880be5f90810ccdbea1114ecd344a3582cb2026e5fcd4c0182d36543561e1b2568cfa94e702838727de5643223a5858b02e1e675141d6fdecdc53c9540c8c4777f7f0d02d106f7c9c102b1c2a5277f927f042eb60cf381a4031b8ca0f359f44737f431bb5983633cb985e191c661f68a79d6ae31e9bc11fe9f03cf971f19eb252a7034e5f4f588ea15b7d5585c3d37c1fdf41c377171cffa48c231f82fa596ac928fccf046d62e8e0dc90345107d376665d0d0f3b6205a39d8377cc169f62adb4a18c470474f890ea87241af52e5bb0bde24cc945897c8fb65bd907aac8aba6cb7c4d08e01bdb7f32beee837ace6e3d6f2503b18b23308af2db2415941653d045cb1fae800df7f1750767d4217c0fbcb95e4ef37f08eb7dec0b57b3dad803127c350345631e73b908062dfb5f502f3beaafc143df01a7c48000f404d56f1e377a6d3c3f19bedea3789f0b4d89927a5c7f34d0b1e0561ba4ba473a60d4521734ca9b855102207b5e8539397746d66dfa9a9f0db9efe1e0b0bb78da37a59ba159e85536ef33739400f08bcdd37cd5e2013b0a2debbb4e1c66d9f30e684ae9ffa465c755d90ccb724d8665a2a15a569f0ab1805ce3cd084f09826bd88b2f9d8a48cc94f200e454e5c0ce68e371d343dc58d331f1ddeb0c242f32da167554542aabe1cb16a15ae315b629dddd800dd550a2a661212869bb0bd87b28b3e14176c7b534ca8ae5e9f4a680b5e6e44c0fcf2054b64f9032c36d0eadc974482f7c01bda33b4ae0e9f02fbd8feb3f13f3c10de6e3048840cb59b0c6a1ff297602d70ed77b6ea8b0d7afd5a71d67afdcb0821e9ca424bc32d06a781744046eea9694638ada535ac2027040bfa31cb3df3f4db3aa84a879f5e2addf7b5af5ea6a3b2b45f0b72b0e3e64e5d76d42773dc41b3526bd5e8d6c0310cd15f656bd95eda409e5662e3552250ee88b8d9799a32c84eaf59320f42cdbf449c8e227d8eefbdb54e1cf0dd0d427d6bd171546c278069274ff27e5f32a5bc40856feb82f4277b31edc365ce36ed017c353cff0544ee88c6840ebef296f89fed307528d86ad17543b329d722d91bb5d4d27297a2b7e16fd579aa2edb32d6ccccc462db66b8b8ce3d7df3adf98360917696e5c1bda2987e3dcb30fc8486835329e51231985901d9604cb65b60011336be1095a60f4292508f5efbda44218fdd9a5eae919add65ea34c5b821ee8f5a30f1c07091c3ea99e948c75b9a97f27851349689ea15cb8cba17222bad3a3a3c3652a6eec1046c444918851a10f98be8d91142cba0135b54bc62b0af412f7bf5fd2c35bb5b40594249a1eb4e374c911687133e31b270f344dc0f0c7c48579fc3abe5cb512fd710fcbfcbf4d1856bb389e82fc95daaed21b088ca484b68d0a69e42560714e1709abadf7d2cc6eb570fe86d2048643293be454ce84ef53240d995fa91d9aa087d654e8685cea1f62981cfc507611740bd765a4064ccf78c7b4d0e890b482ba12496f196ac7c561acb93136fcc8c32b02a8d27325b67cc9454fd3af894d1ca9e5d2794c8b4e0dbb0f1b6b4fc9f1aa11ab292a7dce5df9a61ea72bfd44e8c2543dc72b951b021e08b4bb82600fd83fb72557f39d52f504239cb2077db4f24cb37a6bd97c389a914430c34845fd0d2f5c9e2ea68e21e3850fdb48f0407bf400c23d3261d0f0221c4f45ebca15565901ec79e467c8f1a052192e9445d1e28b74df93d4eab9c9eed79e03819c027c66b7455de1b60bff1360df3455ef773d5838548924aa8ba3f1843e5af773145bca51e52d5339e86e3c08f244b0d2b32470bf08c39bf94917bbbe164c53e862ab338b0048280bfa67bbf66f6c97c3010d0ea37304a3361f7ab65c3a7b330291654f06e7394f03329523aec938d4a8198d94f84076830cd6baa327cfb49c29d49177872cd868379a41983ba3a852d39485bacd3b19a3d0139afc8434b3f45754501f2c1391df43a041afacd6dca2f5adbf0f4f89228bf94917bbbe164c53e862ab338b0048280bfa67bbf66f6c97c3010d0ea37304a8df6d8b3355a6480edc40e4e3857ccd1f36ee0ec250915e901fdfd3adbc6930efbf45c6542a41d5c7552ecf9cd4caaee743b2dc54e5ecf0f837ff86900d8df8e7ba76eced58a5894b2265ffc3d55fd65b35559f0276ec07c500a68796d8e98c20403802e407170402c28669d3dba3c39c60b2d3c51f7150bb6cad390aadfd4399d0323821bb8d2d299d4a179562550a4f4594b26feedd7ccac7d5057dbd586fc71759aa86517a05cebba40c8460c54ce2f54e1787b3494d5907a0eb12d79877f45bc956fac0a073334f8367902efdd9bbbdfda8c4d07b5c75842d686c2d8580288d0c808d0a4dceead2402e9dd4b06448056e843d5aa1a045b62617828cf99e170f62139bb6de487965b9a249906ba9eba57e9045e67484a7d75f721231be0b4725f5b45d9651d65c63a4a27a511882096bf3323b2bdc620cd1569f3d1893e57048d68e6be2f9d3da364c2bec9b2015a1c0ae072e085690d912b4b9520a2b66fa5f4283ab0e07d746e2c0b27ea36afefeb3362d50b901a85b24da969884b12df0662ed21fa5d69bb42ce7c62b025457afea1abdfbc15179f3c36eedbfc7bf71291bf1eea04d35d1ae9042f5bba91c6609b153ff178293b37c781dc1992542ab8a78b8e93442df355d38c39a1d099eaaa152b96006f3b57299b0dcbd665ee4219f991abf5af6c263744a6f1f75ebbd0a711b315cb0182b44448294d46b00cea375e828656b6f73790b9c4cc7c2a5348b77e35a9b821f0a375c8d21d8b430c0e0e8bb3fe53c664e0dcd66cd78ded8d80a174360c25b02edb253e3d30e381eec78ad6c0edcac7db5501636ca56e50900372990ef15b777af99e8fac286300db01850bc5489ae83d5ef9151262c7c0bdb113fb390434ee9c8266ef9696473e1fbdaf97af386cf8cd3135c88b36a9c10054dceea4fbf49c3be36c5a749cd31f71b3aa7d9318bfa1cda5feb573f92ebd9cb8f1bbd9dcf3ca53affe5e8b1659e44fd1a3fdf310c5cfe4922afd95f5b719d3a5661e6bf236a532cd37edcb3bbda4cb07a5ad6d89996ca5c9659a1d4409358ccc27552dab4e212c3722106d9cd47d1bc1275a945d7aadd1673bdd577c9e7118636a7164731ceb930d2433b892d45af1595a2be1ab5265403c76466388fbbc0c09bd6bc7e34cde2363bb4d25382f6d5fb9c20a9546e47f9bebaaa52ad2fd8b7f47483353c222fffcc67b0afbf5613485b1e933bef6044c873ad4bf59c4cd896eed7673a9092ebb0c1abc0bcfe250f33a5bbabf94917bbbe164c53e862ab338b0048280bfa67bbf66f6c97c3010d0ea37304ab61d8b5c9a662b99291b079afb38b2257ea1f6d0fbd8199f3e3e891848b386bb2cc63594627f8dd4efeba6c9b9fd6b20250a04b9d73d29e8cada06756a8d71c15704b20cebdc3e52c052dd144bbcb6af5e1e1335bdd69c401be191e3b7b3f4a9a81aced04bab6e130f1b2e03045c7d93235863c1ddee92fcc7bc8fbbb5e4c17bbf94917bbbe164c53e862ab338b0048280bfa67bbf66f6c97c3010d0ea37304a53f479ea21571528d6a63ea115e7ad3b63e8fab6cea9f702e05c929242073de86ca3edef4cde81c8e9a8a37c9f7bfbf2e94a93559d41df042859cd094edbc15a55a1854193a2eb9dbc218c4db09916ca97dcc52060d9a09852bdd8e378e268c1a1c7e1f777d04cd3c72d2e97297457dd808092918b439825aec2bd26e27063eabccd855ca2bdc82a724508510b51833352b3515d402c320250bc2fbea4ee7bfb2548324e3bd134882a80726694c69e7d1ba908132f960ef6dc0dfc02a94079dfa137dc350fae80b8175d55f421aec8b9ea191119ab4e875cfcd8ec2b815b5b48b7921435a45756e52ee4f6220a23c3b561f2af2373f291c6a688d470f3461236e9464b6bba605ca57917b940fb02de5faf0c6c7beac8fd656741276671e7f567b1dc2bf5cfaa3830fb13566e27be031938abe24403e03124d05325970fd22fe515ec798095bb26bc1aef4ee71c8df46357fe71f959b9d56366efa74924c0863f5e07f7f409073cfeb1e9d6866f967d70ca39d47b64b568581b413c04406f3448aa0d0d46d39da1602bad033beedeacc5ba5ffb1c671e147aca5c54e3b282d24d58cdf9939e9d8e0f834903d2dd3203d5c1c1235be94eb43dc85e218ed25ab2272780d505410e25908980fa00cb6c0214edefb616cb1b1d051f5c9d58cbf66c0babb46aaa48676a6dd765e3cad5bb829b91dba8cb214d823bb6cfe135dc2703c29d2e63ce01281676b274fb2fda2f568df915fe1de6ff76bc9b47e0764e65e442d36faed7be7ffad1ef7bc0d79a2cd633f6e9c201436eb1e1a7387228db5c98ec550ac4d4db58e5dcab6ed5ad0d6f32ac567a8a4b53424f6a6a0a0e030e3ce0ad39d59b868569fdd9bc65c3cec36ba9c04d0d418693076bff520f559bafe567ac82b0ab9e5c0035c8764ad36412c7bacfecc49592bfd7422704b9c2bc654a5a5815fbccb7b01436be976e5a45398528907f107906dbcb5721bcc76ce873b0e38a1278ab74ecba4f9ceeef4f47e2eca39db0f87b711cd3f07d047ecc957b47f0ad2f0d99af144d2b6f053f074c938f3c9abc84a0131d0546365a48c8dd6d38abac950fde77ae5caa0adf7c36956bfbfef62d7a95d3d25ba2488657deb49c501e3ec22e2a21e9e66318e6c259754e630dc7ebeed2dc34117443558fe10b794d05bcbf94917bbbe164c53e862ab338b0048280bfa67bbf66f6c97c3010d0ea37304abf94917bbbe164c53e862ab338b0048280bfa67bbf66f6c97c3010d0ea37304a69a55f0f4a721b08ecb126eb5f9e32a219eb63f1b308db62054e0d5d8c7e77b5f11b882931d0ec6ca899426ae4a78a5298bbde4c8f75c12b07c85166728f4a5a193991e5066d261cd6666bd56af2a7b1301c9a240d5ddf196a4653977f0e68eb8debac380fe920321024c3e080fbcd0e942b5cdaa7c894de67a87211c8746c9353ca6a06d8d1b5cc26a78da2ebc280e5c98fd40af5ba650aa27ab5ecca92f8fdfb47c9bc70a22afb8fdb845fb4d2fcac4ed8d50a8eef6b6e8589d528b8dce25924028820bfa4a1613834c6c1b5b38b3b236117c2c97656464cffe2304c6913c6bf94917bbbe164c53e862ab338b0048280bfa67bbf66f6c97c3010d0ea37304a1c7e818c36cfb43c2fc76bed40988b796d9a5e5cd8350cf37b4c29783b91f9b8183153599c3494d1fbb0eb60498e0e2026e32ce42b957ef54eca5a6463af5b81bf94917bbbe164c53e862ab338b0048280bfa67bbf66f6c97c3010d0ea37304a2e6b36ac468a72a8897d3afc01b1cbe661dfcbd69e7cb74f4b11201b8dcb6ac638bb16c05e5cb9ba24f8ef302592e03d192d954c8a6ffb905019be365aaf4c2e48dc34fbe5f8390dab0d8a34c1745c01bba7d5921f5798201f07950708bc4c5333f087cf80d3989f75e5d94b45824d25c7af8a96053bd71d74202547bef35acc03e9323c321b67d1034280069ec93d4dd81be8ded3d60790d3c869f7b263bf9fa632630e3002540f05ab3f2ddd20e9acd9221fba63540a7b49a5051355d1e9434e7d4a960dacca6138f35529bdf47d3d3b59e539b1677f301ff795729735c85cd0e6d78935c2ca4c328d0b86f7900c5deda3ab6d4505e68c20ae2776633ead033d88cb07dde239b95252327615d7cecec2bd5838ecb5e2b5d668fff1f18cd2a19db2ba39fbcd10dc4b90af9537baf1bd56aa7b85d4cc930702dae4e1d1d7f61da01657ebd33a69335f0ee5c3229cb0942979bfa84315f01a195e7ef6ad825c4455348c5b6ecfeedf96885436398060670cc72eca8d4ebbe62298d45b01c57aaa5ff8ff686688fa184b0fc17694c2f02201e764e88658a577e26c6ef01da3fcdab68f22e990923d5ce5d1be918a64cb611ff3cdde1a3348f04ba77c46271746d6f4e28883b0689d68027f0f8e7d0dd61a9aeb1af051672846b1af7949e7e3168461a9d47bddd1a80abe63b3f61474cea3823dad91bf89fa67d95e68e5576bf83bde6075f8779e2da24c12072f1019f2aaafad8c699b4db6cd4edc8ec607b9b7a2420611d2ccab66c634cd501f5143a49307cba0f3e37d2aea330e05a36e1f0874de601960d7544ae8b5dbe7f9ea72888b907b97bc119b1c7102467475df1867fabf94917bbbe164c53e862ab338b0048280bfa67bbf66f6c97c3010d0ea37304abf94917bbbe164c53e862ab338b0048280bfa67bbf66f6c97c3010d0ea37304a7b47508be8f154b18d01db8740d3d1bb420b5ad1a423cd20c5c0ffc2762566f9eb5ee31d5c68be7d7c06c8e0f3d94235c02131499d13ec5913747a9f652e6b4842cd6f1e0045f26561670a968a93ba9009a18435b79f93b65c22f1906ad4c95660b79df2267e140ff07924fda661ab5a894c27d492bc16295cbcc7c4d97b935b3a14bff212e22161d6f7d55baceabba3cd5cb595bfdb3d42cbc580cd69c2a4429c51d731a9869f34ff9c632b974049484b15c720fa69c4182718485ec35cc85e657ecfefc62ea27d4c58d3a58bd8144c571535ba0e51a977d33cf18e6b553e7986607e56a000108a29a27daa5dd0959829846605f58b1cb66cde44336e6ce68febd973a17526ecf515ef9244953454e279c1de2a04b0e04d3349aedf260c1b95c8b2945e844f93e682c25dc96ff3c66a5901fcca8d7d6354609237d264684f4130ce87134bd418181e84703a766e2943fd397098194144c5ffc6243a2a10c80cbdbc2a98f56cc9aa1c72abc36527235ec9fb78c8dd2a19eefb7af65eb37176aec9e89ba8bf6c09cc52d3c384177a52e993d07d7514aafec4342f8ddf234e55ae5538186102450924a4374a9954915ced6ed50186d4c96cbc83654ef31cc2419a99650fc504b3c6d02405a1c53d593015f35c8aea5c819df4d1acf52cb3ce18540cf8dafe177a2585d6f0cf0bd1e3c61af54b27e34965a459128b4110dd67aa68c4dddf75bbb868d80666544482733445db32fd174735c35952536566ec7be75454858b4c34f2b678499fac7a04adb19c763b05e6b28d7cd4cc4972ad9ca116d2cddc21e0723245f4cc0882cef2dac09858ad2ac3d9b230fec458bca6b82afe9d830ff0620f010db497adda93cd0c068cabafd2f89d4b2d6c0b513765a005747e18546c0553962630bb4990c258d0479450b796e3899763c74da50325b5df01a668c9e503d3f38986a17b587e11f0c8a1872f47171b1d9111582c9ecf482e88650fbf5f9987878b17766983a5831aa7761b0f7c39c19b416312153bc889f8e9ea42c44e562d075623ad665fd2c1a71d12ed026f0bd0dd326d9832748c33b4adcf7d7b2c59d88fa926c2db92b95949f28671479d6402a10e524e02d864b92d1128d8ac4c433dcf40ad29e3643d36beb49a82b29599d43f1c5ab321099bd0df7a2f625237396b2d7f5d290dbabc4123edaf76848dc39982b7d48e5f0b7dcc15e0769dfac8c7a15612cb6832e0e169a83c583b426da5f35d3bb28641f48dca556b47f2f4c5fd9d4b46384f931a73563fe0f1d33dc7283952558e05e008ffe56ea67fa0d4b746c885e8ec0cb4f3b11981b8d6c2eaa91f17e46e9e83867fc471e12c1899ecd5c6b81272a4a31bb500cf21bf20f2df6df874dc7077edd422c7f9d42a29c8ebf3b19fa4a5005a3ec717e0594316a2f413c4668462b504b7b15002ca8a8f17fc23dc392741fb7a345accdd91a5e4a540618d9baa461d6d77981563374c1fb35e81137f2973b7291f1bfcb1fea05bccbc426cdd6eb4ab2df5334c6a5b364764bf2a1d0d874127590af582736e67c849802ce11d9c943ceafe2c360995d3e35722381c4973232c73774247a52fa90c19c9ff1983e9ba7d3379d03dbedbba08206cd39d511450010aaa1f5319f858b8517a827b18678e2698094a1645d7c49f7712b06f7bcc569141cb22e1ee574377fd1e58388632e1d62ba2a2b8dd629055bdcac07d126963d2d4daa082b907b44e357c7c5267a8109ca85d2d6d1d13766df8d525bc0a0a4533dfe6e1a7a0a59e95bbb297d55643701ffcfdd7be7b2ce206e6a199de1ec1ed1d3f716b3affe0383fb356c357d91c0c6a8c3366fdd9b3c01d2f5eb7232dab955e20d22e14dc75ad87542c5b310899f9f022e3a603396ffba0bf8e681bd97c56cdfb7db93f9d9dd04813a73c3633e0621a254bb38223674798e354086977fedb97b9d8b0ad3314f542132c73ab0fda35b20fbc0ba1dea14dfdaecfe7a206e568300da5d8776d6a80ac85d877e77ac22a7a142856fd6f347375b35f172c7d6b86f241e09555c1c0f992d3d5710baea1a2989d99d7b8d1421451522419379523f84829c295f468040fcb6ff83dea7eb44efce486d84ab87d97e7570a1a8a8da373961080a58f3f58b6f717fb1d9a98d6683b7a8bcdc1cfdc95510a5952b9fc3c38cb5691a3859535993067151d913cff9e24ed667fece25d4903e2bfb81ad2b754a0641b463da9cdab48b01c5d13d633c273a56182e3fff689165569934b919d58d7fa3ca6d6df3b43d87edd3d29266d38170c149cafdbe6c40329de87e67d3988b334c133164e516183f9463687916e911733d7f3ce87cb994ad8f20f5fb8cb601cfc87cb0367c8a330d17028a33ea80085e9ee7b7877f0afadedd40f19f99f74813eca2f3493f8e636dd1cf4be7f1e2d44da3f3972f151e686ef82b03dfd0707f13ec69d694050ca00933438ec6c23989652946b9ad5466782d759ecbaa28be50fd598baf8010065c36a30b2859975bd8ea0c3d8a19c680e7d47d48dca94215bbedd984c16a478c96ae085b1adf66d56e7c049eaad55e207770b56ff53fb8a62aa7e1ca3d60dff20cbd01f3e5ed342c43d8182370803321ed0bf94917bbbe164c53e862ab338b0048280bfa67bbf66f6c97c3010d0ea37304ac1d52b8656d1af4cd5d4004232738c1d63634830a5079ce82d2d01266ea99d52ac8e84daaf71030b8a17cca51a7592d050b03b3f7451e70a214325381c8206413ca80a4d8364e75a87ef3e565121207536ede420dd8ff647eceb7e222a5cf33d18a420ff76d537543c96bd53dc75217720474aa3d510db991cf1c5d3c0b17e182e8bd06ea1bd1b60a862121022f6db29fe2c053514dc254e4ffb7ea1239787a3fa1438c6727806846b9b90d532c40cfcd03388d3ba0332b852e68c788dc95beaee5c5baed03222b28a19588331a0bb52ada0ec313579bee395f4b5fad228cf7aa8cb7d3f5fe04a791a0d32b67205f4dec1648e7b8d81e4713f7135d9ba543c2d8f0e287c44510ead456336ca90ceb7074a1dc2e503216d8f63c823bb4ac3b2ca69a51130203dec21c602fbb66a44b788caa069f0e704bf43a23a3e1109bf2e6d77c92012b5d88e0ff6bef8be5088c215f34df28a9906dcd21bb35ee707ad247338190524465ac3539a6d375d32ef874cb23b1f623b1bd738e99b0f34038bb74d984eb7d6e464deab664a1aad8a70a60a4f5280ee94031f77a6433f6bb1e0cd8f058800e40eac6049ada804e9491a4cf8efa5922f347d7daaa1f75673c6e56d4ccd24a89e301074b0ea6d4abb99b27b96007150fa0a6aaea7a1b42bc3f583ec412bab248dc0af4e4ec1320bea34cafa3a319c329bfd1108619a05669b2186aee68709a8dcebd24ab1aa45b49eb716775158359822b51855c55cc7066be07273edbf94917bbbe164c53e862ab338b0048280bfa67bbf66f6c97c3010d0ea37304a40522139b763fd7b4f32ebd671c1851397c1fb321b3e8be1863fdc64bc5d3b5e444376308f32bd6439e0f53e409e8e68c134841a38fbc1f41b1611902b058d8b04f3fa3ef1f7385aff0f9f9de214be8413b24ecba3f065b9e98717b547005c5b4ddac5e255d99231c18fcbfa3187cd9949aec8016353e55385e3a538128b273a4f346684d6455e4bf9e7fba19a10d311eee7e35fe16c1bd1755789676e45acb03862a0b99dbc565615735ea60bba97159f7a686658561f3504c69fd8af2999c89a69609113155a09e9dedfea3b3910bb025d2d9fe0ba7005ecc9691d2d73416667c78fe28b133f8e323f2934edd697d31470e2c959da67dad21dc8bd6a092dbf81a9879f1570efbdaee5ec12fa5606fcda033bcc6edf974324a74a6cce81a4d8966ec6dea5aa6f71e3d3a45878dba2452c38b220196e79b1b6b63f2073bec74f56d61da6bc52375e687f7185c223e3a087b00d0f483fba2d0aa0bd60ccd38a64f7c9b9d6fc53760bc49679f96b380f9991462b420e6671b8edd9616618b4d4a9df6e6c5d2b1bbe180e3c3f1448929cf058f51180201d315eb8b8e8930d984deb678146b86f95bb9df9a552c0ad7a6aa4550585b9c6ac2cf7c0d78b2ac14965bb0d48a206c78915f76b40d769f4d08dae9ee5aaeb4c24204434c3c915a51ba6c44f76e9c2c87b0a4b2e9bb69367f3f39533ddc6529253580c600fc0f72065a8dfeb735051d2fb326159ccae60ef2cf0ae56deb2cbbcf265f02728bff2ad1ef45f81fba8abfa6ebfbf31d5487e566c86025ac5d0d00cf32678da554df946639dab993e07b1f514acb667aa3d27becd737f30653013877fc0f6477257b794353d98105b0b27b7b0b87f754a169b196fedd90880cf969d94d852b2ab06a4792a8ab24e72d89fc1a75407877ad1af0bea2af1cf09e39e4a23e6871e2b04074ba462008fd31ec2c588f0514c87b35ff3087093ec49ec4ba348efe5421bd9e2c5a40f7002feb838ff66f611caf3e91355a54c68011185b61a97db4f5049c9c355a93ad008f9b9c7bcbcc27e00a3b184a7487f244d0f3abc8c3e93ac96c85caf1d590ca9af9c1b2e2eb742a8d7cc44a2c08d219e7518d0465b28f6156ea9851984500bc79ecff57e0191431bf1142f7eced0da9bdd2909ffdbe5b14ab813ddea98e4554b120450a29eb0d3e5940fb3d321b33d21d2d1bee442b585d3c3d8a390033e3a79a480dbacc224a0daf749ad1cb3a12a38816a0afd590016dd9336c80b1807f512de6adb7583b2dde681608e17a8d36460ad5986c55f2038b5a5ccc761c949dfe9b4752d121c7e8403a42b20373edfcbf1bbffb081f02f830bdbb4ced4fc5cfd29372fdc4f7caa8e0d9e08e1ca4e1bea3a93315f009cc45ed3d934d1c4b3b2d914e3045f148c3d92bb890c9597a695227065973e66af26de733441cf37272862a1bf94917bbbe164c53e862ab338b0048280bfa67bbf66f6c97c3010d0ea37304a4271a1f44f62611d7c02a69a92c21ac1f7b2c527d805202a9d89565bb99646f167cddf5c7ffd3cdcf55f86f08aa86ff8336dc697a4a889c0af2121296d32fadba09d0942031c3bb42c6accfb325597ced6bd6d589251c9be760fc3e4cff2d370225d7e149e9f6ec340f630ecf8ca09afa9f6e811bd002d8a7b46d9b271452c780dfd1dcd46bc5290ebb3e1476801a1308a673499e9c5963f48eca2ee78494c31c1e9d2a4df636edf44343b02605b9a645839dd13a44cda4207ee899682d0b479137f77741519deeca081cff761cb64d962c897ea9ffa68a509f3c109594c2cb9871bfac1a5e204f1b30606f41b523e74c9764226974c38bd384d8dfaedd596bbbf94917bbbe164c53e862ab338b0048280bfa67bbf66f6c97c3010d0ea37304a0316d5f9bedb7d56943e7f8278d955ab5168925a2500f824bae548e0e9e394b1c6383942ac062b1df8a007c713779d492b341eafbafc02ed2820dfdfaf0fa8f4b1a381714f1aa091e8263765f859f281787e01f57dce157bce115ea638505fbff02f4530922ded8380adecb67e450692ad96de5dee7eda92dc2b3cd8759547e56cdc34400453cdf293aee7aaf366842be48b139e49114bbd27fc4a2e3d0801e8802742883d39915e04cca4e5a12b5b712cc23df324d654bb0c677a98067bdf730434a893f65d3387a1fec2e4c64f9663ad75ce7dc63dc7dca8ea098ec710b2014af80995e5f9b5b6a2bf39dcfba68d3d06143495f5ca3fda5b425f88dd48cc6762210598e22397ed706bad0a1cbec63547cfcd64684549ca46ecf3ded1f6d0981d182a84335e9909d5b7672702018add8d40224a2e5c25eeba7f57a23ae17bc5d0f3554fee87c9a13396527e1fd8f9b5c13b73721a9edba19cf43a7fa1893c1eae8961a7f68933726c6abe79cc453cad0902f8cd829069791e798e4127a8dfd7f5de0ca4b21d2c8914b3f94b63d41530f879c0a47934c93ad3b8153149e8e169328dce982e1e53ae6e188bad4fa0f00fc35bb86bc5c696ba49152946a65ae1c9c6b53afdf812ebbbb1029a822482238a111c4071002980c2150753a62c85cc4db0862ae8e6e8122253c1170fb7d96bab991d14ff576bba7091984d8e4b92fd70ad536b3e2e7d7a11f56d8e91ca4abbba83044bdb4eb4de29188fa2e705a97357dadf66be1814d7dee4410e942865a774341c262d7691e68fe95b81638452efe2e80bd9b55d7558a899327786d8f3d478d24c1eefe788baff83402b2d22004d3762fea50db802db82a37542e3201201c52ad0eee1ab780c380112346ebe7b276c64f170c0038048d4faf9f32fe55c2315d90469e1a0ac0a0297f080e753963bc7a0cf487a9069da270293cba14f5d2f398630974af16efa3f723e639977dbb9b5871ea65a0761f2d2fd35ab5c5d8a98beecded2005cbc5d9fe26ce921b9f81b985bba48dbdff91b63438b7f495e677c1b3cf3f114a6bf78bbc120dcad890aa492c163386b3263dde8572bd5ef2219992ac873b530208fb55f717610851669733646db25590392fda4399a7f49856489aa564ca2b546472239e5c3cc2833d6efacfba59edbadd163e540eb080ae0304090bc5f5e4adfa08632fda8c83e5f5f784abc88be5fee598ce1ecb06cf7af6887ea5225626c8f5e0474c7e4f409d2667d577cfae112179ded65a16fa4b44b618cd1e8ce47c55d7e555b6aba7957c807fdad1c61689a222188addb755e181a23d3c04be4e79efb97129829aa3ca4949aa36e8c637292e51926924f8c75f55558fefaf491eb718c7fff5cfc1cfcb238025eb0086967b2eda2a03c6f5d2fe9fa805bb49ff2dcdcc9ce42cade7e4c57f2c6b07801d01162ec366571dd9e9b1d46971d745b8020adf3f6defbb48a03bc7493e5fcef9e55ad0e13f97956b51115300b7012688f0f22079b778d2d5f4db6047e9e733cdf1611810281b0f912fb81c4fbebf1b31b76fc3fe59dba766ec37c541e1b4619abb0db733ced07c246f64c4b444d66229f2003ca2cc9f87ae346c961f8b79e8bd1781d95d8a5cc9fa358b8fcfd1875af7aa1112c01ab1f70a6429734bdca4a3cdf1611810281b0f912fb81c4fbebf1b31b76fc3fe59dba766ec37c541e1b46c5bf91617744e2537702106d6f685187978b2f60a4228ba3cb828513543637d225dbf6beb90f83efd5102b9d8df0651fb90b1a6f15031ba59728a099453e3dec25dbf6beb90f83efd5102b9d8df0651fb90b1a6f15031ba59728a099453e3dec25dbf6beb90f83efd5102b9d8df0651fb90b1a6f15031ba59728a099453e3dec5a571d9f74f73fe1c8cc77d68244383484447483933c71896b78741614b55ca1d6edb0d6c91d1260bf4ec6d580e76d354f3e71ad6db6064ce809d50e796b2b0fa5856e36b155310ff76bcb518aa15e21b882420b76df9145a2f1cf53a822aaad1d5f8b3716470c39ac414f069fa24f6e58399371a16df38ec6b80dd0663f524770188eeadc4b8cbaf13702f7ae74e826f2c2ae2f22ba52ee0f89283bb1c0a26e2a9c91765f7572cd20777935cb1fef37f3c9ab8fe0e457a297f188946efcaf12f4e2b413dd0a17b078e5cd6eaa4cfb65e3fb31445cfa42c0f18dfe1afe2b77f63d194ac182f93a85620253c91d302ee4152bc35db42b5e0ff5c4d7625b5415a4ae4491fd454b934870270e8be1f4af707b29cd0d77c8137f2761bcf6da31284a5c5c219e54190325a1ecf9d25cafdfd06d59b3b7d65d606cc58e267d5a6970095e4b606f66539364b6a638475b0237a8cf04e68ac80ac2886750eca2b450384f5e4b606f66539364b6a638475b0237a8cf04e68ac80ac2886750eca2b450384f000880302e4fa88df786388982c767bacfdcc520e246bfd8b65036e6db2009e9534bb5ee2bd20cb4a4842a74ea7285e0e48d38bed18a986510dd93f1b9e704dc6487ba5aa868c595eded2018ff4088fc2d9bc1539d15dfb94d2606db0de619ba7eeb5d1a3a295f6156b9200b5bca3ad85a230c406842c99e4bab181242ac4e92c37dd5fb50ea93bc747a6f506cd8af492e615203b5ff6779e63c2435505731767eeb5d1a3a295f6156b9200b5bca3ad85a230c406842c99e4bab181242ac4e92c37dd5fb50ea93bc747a6f506cd8af492e615203b5ff6779e63c243550573176a648993793a8899eff496a6787712b382cb8df8b7a67266dd38798b2dd3fa7b95d17bf31f4ee9b0ec69cc5ab10f93bb740a9433633dd80647c45bd6007715776ada478d73a689511de0b4c80cf8cdb8bb8a7d048a4ebf100820ef41213e4db3af4e2b413dd0a17b078e5cd6eaa4cfb65e3fb31445cfa42c0f18dfe1afe2b77f6e7c42fbdee10d39be44c27eba97b80d344f2f6bf893c572c55e46e5275730adfa5f66123648edef8230ccd302b65cbab9c0bf3f30b1eecd3b7d720e10c265ec3c6315aa174a388a683f81264e9680cbaeb67bbf9d1a848d08e8eaf85c3a9bcd2e7cfea298648f3fb27e975c220da7dd1c556d7193326b767957654e3ff61ab5e3a1c98b15f0953eb1d2af09051364ffe618ad8a4f34dffafe64991f81d4d1ca37eeb5d1a3a295f6156b9200b5bca3ad85a230c406842c99e4bab181242ac4e9284a6ff8c8f0f5a4ed77fc241e0f09f250b9b6b82fa182636eb8a8ebf84e7587e5c5c219e54190325a1ecf9d25cafdfd06d59b3b7d65d606cc58e267d5a6970092304f2b99d427e9772d541025e5259da64a9f2cbf8b9c1b7ed32e4f5f523b21ec37dd5fb50ea93bc747a6f506cd8af492e615203b5ff6779e63c243550573176095b1b05ca46f5561dc5f0039bee9055c118faf3095a0d46121b13ad7e2452156487ba5aa868c595eded2018ff4088fc2d9bc1539d15dfb94d2606db0de619ba6487ba5aa868c595eded2018ff4088fc2d9bc1539d15dfb94d2606db0de619ba06985400e7971b4a428d207528f5a70a4edaa34ee96fd835cd6280c78987812354be4be522ec762cd6ac04e35869f49112f0881613c7c4e501f8c32e136c5662a648993793a8899eff496a6787712b382cb8df8b7a67266dd38798b2dd3fa7b95d17bf31f4ee9b0ec69cc5ab10f93bb740a9433633dd80647c45bd6007715776ada478d73a689511de0b4c80cf8cdb8bb8a7d048a4ebf100820ef41213e4db3af4e2b413dd0a17b078e5cd6eaa4cfb65e3fb31445cfa42c0f18dfe1afe2b77f6e7c42fbdee10d39be44c27eba97b80d344f2f6bf893c572c55e46e5275730adfa5f66123648edef8230ccd302b65cbab9c0bf3f30b1eecd3b7d720e10c265ec3c6315aa174a388a683f81264e9680cbaeb67bbf9d1a848d08e8eaf85c3a9bcd2e7cfea298648f3fb27e975c220da7dd1c556d7193326b767957654e3ff61ab5e3a1c98b15f0953eb1d2af09051364ffe618ad8a4f34dffafe64991f81d4d1ca37eeb5d1a3a295f6156b9200b5bca3ad85a230c406842c99e4bab181242ac4e9284a6ff8c8f0f5a4ed77fc241e0f09f250b9b6b82fa182636eb8a8ebf84e7587e5c5c219e54190325a1ecf9d25cafdfd06d59b3b7d65d606cc58e267d5a6970092304f2b99d427e9772d541025e5259da64a9f2cbf8b9c1b7ed32e4f5f523b21ec37dd5fb50ea93bc747a6f506cd8af492e615203b5ff6779e63c243550573176095b1b05ca46f5561dc5f0039bee9055c118faf3095a0d46121b13ad7e2452153cdf1611810281b0f912fb81c4fbebf1b31b76fc3fe59dba766ec37c541e1b46ada478d73a689511de0b4c80cf8cdb8bb8a7d048a4ebf100820ef41213e4db3af4e2b413dd0a17b078e5cd6eaa4cfb65e3fb31445cfa42c0f18dfe1afe2b77f6f4e2b413dd0a17b078e5cd6eaa4cfb65e3fb31445cfa42c0f18dfe1afe2b77f6ada478d73a689511de0b4c80cf8cdb8bb8a7d048a4ebf100820ef41213e4db3af4e2b413dd0a17b078e5cd6eaa4cfb65e3fb31445cfa42c0f18dfe1afe2b77f6ada478d73a689511de0b4c80cf8cdb8bb8a7d048a4ebf100820ef41213e4db3af4e2b413dd0a17b078e5cd6eaa4cfb65e3fb31445cfa42c0f18dfe1afe2b77f6f4e2b413dd0a17b078e5cd6eaa4cfb65e3fb31445cfa42c0f18dfe1afe2b77f6ada478d73a689511de0b4c80cf8cdb8bb8a7d048a4ebf100820ef41213e4db3a8cf995c1afaea25dea64d1a062bb0ec52fbe3852ee7e9fb6e1d4a6811851d77331b69d1c3968a28548ae476ac09d306aa56dc335095aa0e1ec4b6341e53afa3be7c42fbdee10d39be44c27eba97b80d344f2f6bf893c572c55e46e5275730adfe7c42fbdee10d39be44c27eba97b80d344f2f6bf893c572c55e46e5275730adfe7c42fbdee10d39be44c27eba97b80d344f2f6bf893c572c55e46e5275730adf78967d47eb35ba5cd77ca694dcb6fbcfb28f66240e4dd2ae81dce05fea3714bd9196b8b91514a39885945ba13d6f3440cc444257b876c1fcbbf5e98834a57ba5e272ae966e8f53a0c7a871adc6ba36c7ff0926020027b60749ff1dd33e945193d93490f7f7f73b95f20901dd55974aa3e13b151e310af7014b9dc04d0b0b0110052104b69d3bfc635531636f1b26324acc77964035aa0e35d43af23086b3de277140dc67f83b65af597678dffc41a34b33d7b143072ed81b3fea08bb3631056d3c83d1b83c003f8a1558cd11e1091d8f238ee088d8016256b5d2ac4ba946e06f389204ba5eb6766df7fa1f2cb1cff266e3cfc7f02113bc0b5027919979b9bc93269ef79d64cb8a49831c572689f27942809a1b2cd6435e5bf7515f218f1878cc5d17bf31f4ee9b0ec69cc5ab10f93bb740a9433633dd80647c45bd6007715776ada478d73a689511de0b4c80cf8cdb8bb8a7d048a4ebf100820ef41213e4db3af4e2b413dd0a17b078e5cd6eaa4cfb65e3fb31445cfa42c0f18dfe1afe2b77f6e7c42fbdee10d39be44c27eba97b80d344f2f6bf893c572c55e46e5275730adf9628f03e250586b1e010fb6408368e424d481907c2cc9a6461693be02110ff91a5f66123648edef8230ccd302b65cbab9c0bf3f30b1eecd3b7d720e10c265ec3c6315aa174a388a683f81264e9680cbaeb67bbf9d1a848d08e8eaf85c3a9bcd2e7cfea298648f3fb27e975c220da7dd1c556d7193326b767957654e3ff61ab5eace676a2f899b95d04229e9e0f2f67ae78861176133db36fc0660b710db666603a1c98b15f0953eb1d2af09051364ffe618ad8a4f34dffafe64991f81d4d1ca37eeb5d1a3a295f6156b9200b5bca3ad85a230c406842c99e4bab181242ac4e9284a6ff8c8f0f5a4ed77fc241e0f09f250b9b6b82fa182636eb8a8ebf84e7587e5c5c219e54190325a1ecf9d25cafdfd06d59b3b7d65d606cc58e267d5a6970097decbf1794f0c5b8e39c65fcf1c4bfe7354d66d2339a39af56a482c2f6f6d5bac37dd5fb50ea93bc747a6f506cd8af492e615203b5ff6779e63c243550573176095b1b05ca46f5561dc5f0039bee9055c118faf3095a0d46121b13ad7e245215f617973868212e0922fe4034411b37d44fe55e3c95cb088ca7f4441b89058bcff617973868212e0922fe4034411b37d44fe55e3c95cb088ca7f4441b89058bcf3230ef6af779a761f0e03aeeb0f98ad503f7b1b7498a933e781091b9053c58e5a5f66123648edef8230ccd302b65cbab9c0bf3f30b1eecd3b7d720e10c265ec3a5f66123648edef8230ccd302b65cbab9c0bf3f30b1eecd3b7d720e10c265ec3a5f66123648edef8230ccd302b65cbab9c0bf3f30b1eecd3b7d720e10c265ec37c73a9cdf56a9a0b2edc3b396d39b44be34c2e38900bffd4b283944b44a39013052104b69d3bfc635531636f1b26324acc77964035aa0e35d43af23086b3de27e7d218683784f07912c232868f13268231683e231f99fcb4f1c310a145106baff877f8a60e492f66dc99ca8f83b5dd34c2b917ea43cabde4dd538e8d81d55e6ca648993793a8899eff496a6787712b382cb8df8b7a67266dd38798b2dd3fa7b99dabca4d89ad83986a828905c3be349d3e1d576eb3368fabecdfb4146c0077885d17bf31f4ee9b0ec69cc5ab10f93bb740a9433633dd80647c45bd6007715776ada478d73a689511de0b4c80cf8cdb8bb8a7d048a4ebf100820ef41213e4db3af4e2b413dd0a17b078e5cd6eaa4cfb65e3fb31445cfa42c0f18dfe1afe2b77f6e7c42fbdee10d39be44c27eba97b80d344f2f6bf893c572c55e46e5275730adffe0f5394684361c434e4020191d94a10e285e1310343d90063cb12c07e1b182da5f66123648edef8230ccd302b65cbab9c0bf3f30b1eecd3b7d720e10c265ec3c6315aa174a388a683f81264e9680cbaeb67bbf9d1a848d08e8eaf85c3a9bcd2e7cfea298648f3fb27e975c220da7dd1c556d7193326b767957654e3ff61ab5eace676a2f899b95d04229e9e0f2f67ae78861176133db36fc0660b710db666603a1c98b15f0953eb1d2af09051364ffe618ad8a4f34dffafe64991f81d4d1ca37eeb5d1a3a295f6156b9200b5bca3ad85a230c406842c99e4bab181242ac4e9284a6ff8c8f0f5a4ed77fc241e0f09f250b9b6b82fa182636eb8a8ebf84e7587e5c5c219e54190325a1ecf9d25cafdfd06d59b3b7d65d606cc58e267d5a6970092304f2b99d427e9772d541025e5259da64a9f2cbf8b9c1b7ed32e4f5f523b21ec37dd5fb50ea93bc747a6f506cd8af492e615203b5ff6779e63c243550573176095b1b05ca46f5561dc5f0039bee9055c118faf3095a0d46121b13ad7e245215f617973868212e0922fe4034411b37d44fe55e3c95cb088ca7f4441b89058bcff617973868212e0922fe4034411b37d44fe55e3c95cb088ca7f4441b89058bcf3230ef6af779a761f0e03aeeb0f98ad503f7b1b7498a933e781091b9053c58e55d17bf31f4ee9b0ec69cc5ab10f93bb740a9433633dd80647c45bd6007715776ada478d73a689511de0b4c80cf8cdb8bb8a7d048a4ebf100820ef41213e4db3af4e2b413dd0a17b078e5cd6eaa4cfb65e3fb31445cfa42c0f18dfe1afe2b77f6e7c42fbdee10d39be44c27eba97b80d344f2f6bf893c572c55e46e5275730adfa5f66123648edef8230ccd302b65cbab9c0bf3f30b1eecd3b7d720e10c265ec3c6315aa174a388a683f81264e9680cbaeb67bbf9d1a848d08e8eaf85c3a9bcd2e7cfea298648f3fb27e975c220da7dd1c556d7193326b767957654e3ff61ab5e3a1c98b15f0953eb1d2af09051364ffe618ad8a4f34dffafe64991f81d4d1ca37eeb5d1a3a295f6156b9200b5bca3ad85a230c406842c99e4bab181242ac4e9284a6ff8c8f0f5a4ed77fc241e0f09f250b9b6b82fa182636eb8a8ebf84e7587e5c5c219e54190325a1ecf9d25cafdfd06d59b3b7d65d606cc58e267d5a6970097c73a9cdf56a9a0b2edc3b396d39b44be34c2e38900bffd4b283944b44a39013052104b69d3bfc635531636f1b26324acc77964035aa0e35d43af23086b3de27e7d218683784f07912c232868f13268231683e231f99fcb4f1c310a145106baff877f8a60e492f66dc99ca8f83b5dd34c2b917ea43cabde4dd538e8d81d55e6ca648993793a8899eff496a6787712b382cb8df8b7a67266dd38798b2dd3fa7b99dabca4d89ad83986a828905c3be349d3e1d576eb3368fabecdfb4146c0077885d17bf31f4ee9b0ec69cc5ab10f93bb740a9433633dd80647c45bd6007715776ada478d73a689511de0b4c80cf8cdb8bb8a7d048a4ebf100820ef41213e4db3af4e2b413dd0a17b078e5cd6eaa4cfb65e3fb31445cfa42c0f18dfe1afe2b77f6e7c42fbdee10d39be44c27eba97b80d344f2f6bf893c572c55e46e5275730adffe0f5394684361c434e4020191d94a10e285e1310343d90063cb12c07e1b182da5f66123648edef8230ccd302b65cbab9c0bf3f30b1eecd3b7d720e10c265ec3c6315aa174a388a683f81264e9680cbaeb67bbf9d1a848d08e8eaf85c3a9bcd2e7cfea298648f3fb27e975c220da7dd1c556d7193326b767957654e3ff61ab5eace676a2f899b95d04229e9e0f2f67ae78861176133db36fc0660b710db666603a1c98b15f0953eb1d2af09051364ffe618ad8a4f34dffafe64991f81d4d1ca37eeb5d1a3a295f6156b9200b5bca3ad85a230c406842c99e4bab181242ac4e9284a6ff8c8f0f5a4ed77fc241e0f09f250b9b6b82fa182636eb8a8ebf84e7587e5c5c219e54190325a1ecf9d25cafdfd06d59b3b7d65d606cc58e267d5a6970092304f2b99d427e9772d541025e5259da64a9f2cbf8b9c1b7ed32e4f5f523b21ec37dd5fb50ea93bc747a6f506cd8af492e615203b5ff6779e63c243550573176095b1b05ca46f5561dc5f0039bee9055c118faf3095a0d46121b13ad7e245215f617973868212e0922fe4034411b37d44fe55e3c95cb088ca7f4441b89058bcff617973868212e0922fe4034411b37d44fe55e3c95cb088ca7f4441b89058bcf3230ef6af779a761f0e03aeeb0f98ad503f7b1b7498a933e781091b9053c58e5d80aaff0ff633de1d14b6473398d8a2897f301601d1b8b205ae8aa2b58942effb7d8e251e74a47cf97d6a988a45db3803b8420be8711b35e183916e9f774944510d0ba314fd783e244ebdef3ea78de0f3705d3b224b3fd9668be0a4f6e3e2137eaf41c3ad4d57f3a4633a80bbf637f7e41d5166ccdc8e539ec3e63fcd7c791446c6c7a04a8bb6702c2d31217d1d038e69283316cb964b117debd7d089e66571184a6ff8c8f0f5a4ed77fc241e0f09f250b9b6b82fa182636eb8a8ebf84e7587e5c5c219e54190325a1ecf9d25cafdfd06d59b3b7d65d606cc58e267d5a6970095c5c219e54190325a1ecf9d25cafdfd06d59b3b7d65d606cc58e267d5a69700984a6ff8c8f0f5a4ed77fc241e0f09f250b9b6b82fa182636eb8a8ebf84e7587e5c5c219e54190325a1ecf9d25cafdfd06d59b3b7d65d606cc58e267d5a69700984a6ff8c8f0f5a4ed77fc241e0f09f250b9b6b82fa182636eb8a8ebf84e7587e5c5c219e54190325a1ecf9d25cafdfd06d59b3b7d65d606cc58e267d5a6970095c5c219e54190325a1ecf9d25cafdfd06d59b3b7d65d606cc58e267d5a69700984a6ff8c8f0f5a4ed77fc241e0f09f250b9b6b82fa182636eb8a8ebf84e7587e18b40ee0fcbfc9a672979891e383de3ff0b05274a8bab84898151f7ef822619e7db0ff5afc0e315cb0c012385c35202fe51ae8a86e1bdbff4c9324a775d248473cdf1611810281b0f912fb81c4fbebf1b31b76fc3fe59dba766ec37c541e1b465e4b606f66539364b6a638475b0237a8cf04e68ac80ac2886750eca2b450384f5e4b606f66539364b6a638475b0237a8cf04e68ac80ac2886750eca2b450384f6d339d5d5bd12a983a65b48c52d458107cefb2aa1c23b9a5518ce414dbdec26c645726ff8020a8b3a4cbf337d1dc1b381dcace80dd0e56d898724e0c4683168e5d17bf31f4ee9b0ec69cc5ab10f93bb740a9433633dd80647c45bd6007715776ada478d73a689511de0b4c80cf8cdb8bb8a7d048a4ebf100820ef41213e4db3af4e2b413dd0a17b078e5cd6eaa4cfb65e3fb31445cfa42c0f18dfe1afe2b77f610b36bf9f9153b086f1cb8f34d3859e95fc038a23bc3d0d8eea61f26e6ecc14fa4b62389629068512188e178f10d3323bfa25793c249a37a8c1c7daf1dfa32d284696bd26ecd58d4bafc50b83aea089369b2690fdea5f0aee730955ef02d436c3a68749ceb335560c0539d660edc21e36f4e62d007bae36e2ebd2d5a42f3fe076d53e61d604c14f28d92b7ea6392bf775caceec42ead9a2ebf72a52992f0f1c13a1c98b15f0953eb1d2af09051364ffe618ad8a4f34dffafe64991f81d4d1ca36e4306c204767a7bb3b23e61740e51d67aab9f178ec19dba0b07f54b4061efd984a6ff8c8f0f5a4ed77fc241e0f09f250b9b6b82fa182636eb8a8ebf84e7587e5c5c219e54190325a1ecf9d25cafdfd06d59b3b7d65d606cc58e267d5a6970098fabe6324ed1b9821a3d4a03af561c7561d8f2db356790f2ef2f8fea2140b75af617973868212e0922fe4034411b37d44fe55e3c95cb088ca7f4441b89058bcff617973868212e0922fe4034411b37d44fe55e3c95cb088ca7f4441b89058bcfc6c346535e2e293bf554a551bf757995b18d4f88b497160ee9cb13d302d8295678990b51f43e3861f884ad1c9b69c924829f6e68cf4871efe8df57bb2f58ceb2000880302e4fa88df786388982c767bacfdcc520e246bfd8b65036e6db2009e9a8f3208635bedc40e2b80704f2b86bfb21db520ebb620b5d1da3ee8db496d37e5e4b606f66539364b6a638475b0237a8cf04e68ac80ac2886750eca2b450384fde1b671025b41bc02b5fb6e92362c84c616adca9ccf1693f1e2fdb5ce15596caf617973868212e0922fe4034411b37d44fe55e3c95cb088ca7f4441b89058bcf3cdf1611810281b0f912fb81c4fbebf1b31b76fc3fe59dba766ec37c541e1b463cdf1611810281b0f912fb81c4fbebf1b31b76fc3fe59dba766ec37c541e1b462f6288a1b58376f3f46ad30b27b5a806dc065453d3a98435707352db0c80fb28aa2ba2d3932c637cb9a0484e38fd1a13c8932158d70f30c754a289a01345a72e8d65ac0e1573056bb9845c39a4dab6e4288de8b8b4c6589b8e95c18e1385d58e48130d7a19d6c95176901dd54dff2a3beeb6934ce4a07645ec033f23441f617b9d2abaf59f989ddd2af298d85051044ddee350377a3dd006ad06de3709ae4d88202fa4277da7ad7bb1498c38b4cb8d5b7ac205ec009632ab3bb62a4ff068e9571f9f598ef4c1817f03cda6dd65383971d5398d1dd6d1e88acf8b79f58c411696mpic++.1rootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootopenmpi_3_1_6-gnu-hpc-3.1.6-150500.14.2.1.src.rpmopenmpi_3_1_6-gnu-hpc-docsopenmpi_3_1_6-gnu-hpc-docs(s390-64)     openmpi_3_1_6-gnu-hpcrpmlib(CompressedFileNames)rpmlib(FileDigests)rpmlib(PartialHardlinkSets)rpmlib(PayloadFilesHavePrefix)rpmlib(PayloadIsXz)3.1.63.0.4-14.6.0-14.0.4-14.0-15.2-14.14.3cc@by@b&b%an@_{^t@^s^^[]@]]@]@]]rJ@\@\@\@[T@[\[@["@[y[[>@Z@ZZ}@Zp^@Z_:ZOhZ)-@Yܶ@Yp@Y˒YYYY@YZ1YZ1YS@YBvY9<@Y.@Y-^Y;@YtXnmoreychaisemartin@suse.comnmoreychaisemartin@suse.comnmoreychaisemartin@suse.comnmoreychaisemartin@suse.comnmoreychaisemartin@suse.comeich@suse.comnmoreychaisemartin@suse.comnmoreychaisemartin@suse.comnmoreychaisemartin@suse.comnormand@linux.vnet.ibm.comnmoreychaisemartin@suse.comcgoll@suse.comnmoreychaisemartin@suse.comnmoreychaisemartin@suse.comnmoreychaisemartin@suse.comnmoreychaisemartin@suse.comnmoreychaisemartin@suse.comnmoreychaisemartin@suse.comeich@suse.comnmoreychaisemartin@suse.comnmoreychaisemartin@suse.combwiedemann@suse.comeich@suse.comnmoreychaisemartin@suse.comeich@suse.comnmoreychaisemartin@suse.comcgoll@suse.comeich@suse.comnmoreychaisemartin@suse.comeich@suse.comnmoreychaisemartin@suse.comnmoreychaisemartin@suse.comnmoreychaisemartin@suse.comnmoreychaisemartin@suse.comnmoreychaisemartin@suse.comnmoreychaisemartin@suse.comnmoreychaisemartin@suse.comnmoreychaisemartin@suse.comnmoreychaisemartin@suse.compth@suse.dejengelh@inai.denmoreychaisemartin@suse.comnmoreychaisemartin@suse.comnmoreychaisemartin@suse.comnmoreychaisemartin@suse.comnmoreychaisemartin@suse.comnmoreychaisemartin@suse.comnmoreychaisemartin@suse.com- Add rmaps-simplify-the-lookup-for-the-binding-object-and-fix-for-hwloc-2.0.patch to fix compatibility with hwloc >= 2.0 (bsc#1204982)- Enable libfabric on all arch - Switch to external libevent for all flavors - Switch to external hwloc and PMIx for HPC builds - Add patches to fix compilation against hwloc v2.x - Revert-hwloc-bring-back-the-configure-error-when-external-hwloc-is-2.0.patch - hwloc-fix-hwloc-shmem.h-in-the-external-case.patch - hwloc-updates-for-hwloc-2.0.x-API.patch - Backport upstream patches for external PMIx support - pmix-pmix2x-Fix-the-PMIx-discovery-logic.patch - pmix-Fix-detection-of-Externally-built-PMIx.patch - Update rpmlintrc file to ignore missing libname suffix in libopenmpi packages - 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 patchs to fix compilation with autoconf >= 2.70 and GCC12 - Fix-error-with-stricter-quoting-requirements-of-autoconf-2.70.patch - Always-include-the-stddef.h-header.patch- Add fix-rdma-component-selection.patch to fix bad rdma component selection which can cause stall when running on multiple IB nodes (bsc#1196838).- Move rpm macros to %_rpmmacrodir (bsc#1191390)- Add build support for gcc8/9/10 to HPC build (bsc#1174439).- Update to openmpi3 3.1.6 - See changelog in NEWS - Remove add-gen-p5-chip-pci-id-to-ini-file.patch that was merged upstream - Add patch memory-patcher-fix-compiler-warning.patch to fix cast warning causing RPM to fail building- Drop different package string between SLES and Leap (jsc#SLE-11848)- Have openmpi3-config provide pmix-runtime-config- Add _constraints file for ppc64le for disk > 4G- Link against libnuma (bsc#1155120)- added --with-slurm (its enabled by default), but if this behavior is changed the binding should not away- Add missing Provides when openmpi3 is the default openmpi - Add conflict with the older hpc-macros-devel providers to avoid issues during updates - Add openmpi_prefix macro to openmpi-macros-devel- Add macro file for non-hpc flavour - Enable build on ppc64- Use FAT LTO objects in order to provide proper static library. - Mark LICENSE with %license- Fix bad INCLUDE path in module (bsc#1132949)- Update to openmpi 3.1.4 - See changelog in NEWS- Add add-gen-p5-chip-pci-id-to-ini-file.patch: - Adds support for Broadcom 57500 adapters (bsc#1125651) - Update to openmpi 3.1.3 - See changelog in NEWS- Add macro _hpc_openmpi_modules for modules support (bsc#1116458).- Remove bashism in preun scriptlet- Fix handling of mpi-selector during updates (bsc#1098653)- Add reproducible.patch to drop build time and hostname to make package build reproducible (boo#1047218, boo#1084909)- macros.hpc-openmpi3: replace %%compiler_family by %%hpc_compiler_family- Update to openmpi 3.1.1 3.1.1 -- June, 2018 - ------------------ - Fix potential hang in UCX PML during MPI_FINALIZE - Update internal PMIx to v2.1.2rc2 to fix forward version compatibility. - Add new MCA parameter osc_sm_backing_store to allow users to specify where in the filesystem the backing file for the shared memory one-sided component should live. Defaults to /dev/shm on Linux. - Fix potential hang on non-x86 platforms when using builds with optimization flags turned off. - Disable osc/pt2pt when using MPI_THREAD_MULTIPLE due to numerous race conditions in the component. - Fix dummy variable names for the mpi and mpi_f08 Fortran bindings to match the MPI standard. This may break applications which use name-based parameters in Fortran which used our internal names rather than those documented in the MPI standard. - Revamp Java detection to properly handle new Java versions which do not provide a javah wrapper. - Fix RMA function signatures for use-mpi-f08 bindings to have the asynchonous property on all buffers. - Improved configure logic for finding the UCX library. 3.1.0 -- May, 2018 - ----------------- - Various OpenSHMEM bug fixes. - Properly handle array_of_commands argument to Fortran version of MPI_COMM_SPAWN_MULTIPLE. - Fix bug with MODE_SEQUENTIAL and the sharedfp MPI-IO component. - Use "javac -h" instead of "javah" when building the Java bindings with a recent version of Java. - Fix mis-handling of jostepid under SLURM that could cause problems with PathScale/OmniPath NICs. - Disable the POWER 7/BE block in configure. Note that POWER 7/BE is still not a supported platform, but it is no longer automatically disabled. See https://github.com/open-mpi/ompi/issues/4349#issuecomment-374970982 for more information. - The output-filename option for mpirun is now converted to an absolute path before being passed to other nodes. - Add monitoring component for PML, OSC, and COLL to track data movement of MPI applications. See ompi/mca/commmon/monitoring/HowTo_pml_monitoring.tex for more information about the monitoring framework. - Add support for communicator assertions: mpi_assert_no_any_tag, mpi_assert_no_any_source, mpi_assert_exact_length, and mpi_assert_allow_overtaking. - Update PMIx to version 2.1.1. - Update hwloc to 1.11.7. - Many one-sided behavior fixes. - Improved performance for Reduce and Allreduce using Rabenseifner's algorithm. - Revamped mpirun --help output to make it a bit more manageable. - Portals4 MTL improvements: Fix race condition in rendezvous protocol and retry logic. - UCX OSC: initial implementation. - UCX PML improvements: add multi-threading support. - Yalla PML improvements: Fix error with irregular contiguous datatypes. - Openib BTL: disable XRC support by default. - TCP BTL: Add check to detect and ignore connections from processes that aren't MPI (such as IDS probes) and verify that source and destination are using the same version of Open MPI, fix issue with very large message transfer. - ompi_info parsable output now escapes double quotes in values, and also quotes values can contains colons. Thanks to Lev Givon for the suggestion. - CUDA-aware support can now handle GPUs within a node that do not support CUDA IPC. Earlier versions would get error and abort. - Add a mca parameter ras_base_launch_orted_on_hn to allow for launching MPI processes on the same node where mpirun is executing using a separate orte daemon, rather than the mpirun process. This may be useful to set to true when using SLURM, as it improves interoperability with SLURM's signal propagation tools. By default it is set to false, except for Cray XC systems. - Remove LoadLeveler RAS support. - Remove IB XRC support from the OpenIB BTL due to lack of support. - Add functionality for IBM s390 platforms. Note that regular regression testing does not occur on the s390 and it is not considered a supported platform. - Remove support for big endian PowerPC. - Remove support for XL compilers older than v13.1. - Remove support for atomic operations using MacOS atomics library. - Drop btl-vader-change-the-way-fast-boxes-are-used.patch which was merged upstream - Add Build-warning-stringop-overflow-in.patch to fix a potential buffer overflow warning.- Create missing docs master package (bsc#1091714)- 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).- Only build openmpi3-config for the standard flavor- 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.- Add btl-vader-change-the-way-fast-boxes-are-used.patch to fix a SEGV on i386 systems- 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) - Fix pre/post install call to ldconfig- Add conflicts between the macros-devel packages- Converted to multibuild. - Add HPC build using environment modules (FATE#321711). - Resync spec file with openmpi and openmpi2- 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- Update to OpenMPI 3.0.0 - Enable fortan08 bindings - Disable devel headers- Update to openMPI 3.0.0rc3- Build with openucx support- Initial packaging of openMPI 3.0.0rc1. * Use UCX allocator for OSHMEM symmetric heap allocations to optimize intra-node data transfers. UCX SPML only. * Use UCX multi-threaded API in the UCX PML. Requires UCX 1.0 or later. * Fix file list and call fdupes.- 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.0s390zp33 1721921831    !"#$%&()*+,-./0123456789:;<=>?@ABCDEFGHIJKLMNOPQRSTUVWXYZ[\]^_`abcdefghijklmnopqrstuvwxyz{|}~NNNNN     NNNN!"#$%&'()*+,-./0123NN6789:;<=>?@ABCDEFGHIJKLMNOPQRSTUVWXYZ[\]^_`abcdefghijklmnoNqrstuvwxyz{|}~NNN !"#(,1446:<=?D,446:<=?D,446wxyz{4443.1.6-150500.14.2.13.1.6-150500.14.2.1manman1mpiCC.1mpic++.1mpicc.1mpicxx.1mpiexec.1mpif77.1mpif90.1mpifort.1mpirun.1ompi-clean.1ompi-ps.1ompi-server.1ompi-top.1ompi_info.1opal_wrapper.1orte-clean.1orte-dvm.1orte-info.1orte-ps.1orte-server.1orte-top.1orted.1orterun.1oshCC.1oshc++.1oshcc.1oshcxx.1oshfort.1oshmem_info.1oshrun.1prun.1shmemCC.1shmemc++.1shmemcc.1shmemcxx.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.3man7ompi_crcp.7opal_crs.7orte_filem.7orte_hosts.7orte_snapc.7orte_sstore.7/usr/lib/hpc/gnu7/mpi/openmpi/3.1.6/share//usr/lib/hpc/gnu7/mpi/openmpi/3.1.6/share/man//usr/lib/hpc/gnu7/mpi/openmpi/3.1.6/share/man/man1//usr/lib/hpc/gnu7/mpi/openmpi/3.1.6/share/man/man3//usr/lib/hpc/gnu7/mpi/openmpi/3.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/c148a7d8b6fb58dce57fd5ab5c31408d-openmpi3.SUSE_SLE-15-SP5_Update:gnu-hpcdrpmxz5s390x-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 textW] #utf-8bbb0f83b6c191756a9e85d0854ce22f69a5239c7ab4db45663330ca24ad66394?P7zXZ !t/A/]"k%iN4zD /itA OӅSh!Y=6L{i.0!1so8FFS+vrlPټ06+C)VRYj '6EbCgѪ6K:藬W=80'{ՅG6WUgŗU0Ya;鰫h3_jEdw.Oݬ:Hæޑ+:Āڃ騾A/,Y+2OXݩcQz޵a+kEPt篊丙\*=LjeIͥEabżjȧtPdIbaG%_JK#GczffbPze;-)<bi(ʢx4*jgpnkR&jlZE^Uu|Gf8}杚;A޺iol0:u\o9i5B\FkEpjk eMmdengT^c *mG"Q:cQ@xI2ˮ<\xN;ɦvl>-{Z`^mHe%;NrSA֏*Ԫ(!T8J@_(<2N3Ce:a[~UDŽʤgb 3>?!֏jg*r5b3RYXms sH(%7]KIU;OI eUJgZM˔BYL3-JOHk 䀪';bM{"?d4Fx:|t8pJLZmPtv5. ;|h.K)g"fe㳾'F<>{o]!A}ޕ/ʊ[7/ِpPP1夵"|ү<}!cjϮVg?20XX;0ƳxBoa- [A7˴ni@x1t9 8 UGh G8R;`-rß"%YL$0„,4$z$A jy~; [@u'n:lh4ʷWqe[๗Br|~bKhfb$4;%}eRv #@iI@2d 끿`Q9|С?x{d*NyZZϊ4gP,{I>J ]ҿ&U_Jc#<sfR[`TZ#@Mg'nrЩ:CQ`MOI:Lc{\%>n0pX?0cȴ*;o.tqn .W(HQO͞ՁH.km4 hOv$B#AuJb 0:%cY7&[J^ј_`:Ql1u% &hp,g.* lxg)WitJGKsyZ;iKlߵ}B ęKm@m? ǵS<_3 ^߻2wmDìHU@#a_Z?VZ7{ݕ4(WoȞGEBZn0him!*>$\p:|i[ ).?,բoF j2])f\|a=%;."}& &09J*P2ay0x@ 2,zJU'}.r ux VxAtX^J>kjS*Zh%9uh8kl4:6« 6l68̒Q+D8#("Fk=wŽ^G$a;r>)Ʌk"qc y@~zlWzIriؤйdJ:L2+דЍԔ?cΉ1r)R{ a^P)𚮁n&aw>7[WV{8Qn kqjƷ~@|MDoG>$ZY*-T+bSq.xYw6dm7{hV㭹%Y iRsU액) ˕me]:aMo tn Sd'Mj1?Mѓ08f,SXTbAc` d29O7J󏽽 3Sָ4"0%#֦ /^tyNy(&VB4ѹ~:>~hig-:;#%/Ak$݂s"5E6bbҾ~7$_Z^'ϛeZZl ]2R@nCPY0*7Sbo2q^q6BXTr?C+ih<O= vQ D&6^ zO~<$R:$餅mD!|{bxeIkW/&-) Ik7-q(f{O'hoß=QL]BE֥dm,~C%ୈsBdJp};mGaML,&3db 0g 8ވȯEB a+ ƥS"Q Fc%ZjΠ@|'OlvWxeϳɅx,*12*ͳhΐP?رj)OCYq%I$4>lW)A{ 5X2V܏ZIj&#μqjLA+úFuw+UAWoipٙOz16Lx>2Vqs0&,`"nYePG2[)ZaF2 .;ؤu2>yJYد1z;P=%ՙ"mYAɹMOfXI#id(qMHJ`8w.ß< х!pa4irb"z`|/t D.}y'Z~qGI~Y1A]&fG/ώdF ./H.GH5(1M0K4<22f5n2?e)LJ0]IM%x׾H4[v1՟M=@֦Bb/Na >^邂3 Z].kos>i1$3i'G+$kU]$ A`ce Z*A]U+`(qAR-+R x$igۄ(_ Vf0$( ֫A 6{Nȳ/ B~"u?fpQF=pe|jZ1!HDž3(£`6Io+@CmqSHmǤx1]Fa;S[< 6G`G)Ml7z sL*#B[\~{;8+ =N]C ՝BѢ|XtJ')LҺ\Eu"u !J`нHhe^ _; l"y mKz2li 4fyUn筍6bӻ-o<ՊNJu:.}n`2ee/6( g0WMk b}6{l0ogң،dj<ԧ-qorp\Tv &5`-{L˯uC;U] bIƳ+*-dG םpm5Y }ϛ8%Ev="X'H ɒY *CD /O!_TVA>-< #dZgb4yg15,`? " DY#ZijEJ|j]W/:C{DR/pRrh'$o"#b]h/(tPBPG+udEV^<#:-AzuZ p^9YkˬyH04rWNث!o9@ҳK1,KS=bp#T\ ŭĚp}[rh7k,tӺ6&mQ]Su6 =8%z{C*c-Hw-&\W(7qkD<ح%Uh(. \MZ^tP7))ρBTwuh%dR;- :})ܽMwW|Β_3 1sfQK:n?U9ȅtW*Q,u[ @wݦj'j k`.XpQ'@Րg )evD|%#7eZbQjlw=Y23S2B]Ċ$VYɈC{|4+fْSdfE7bQ[ǐ|-rmD yA+Ѕ hܟDdNAYf% GGIVy,jH\q=JPI'{JڭP\,\a