clang7-devel-7.0.1-lp151.2.15.1<>,#L_&/=„GV[O{4P*:Y}%!GH-6k0pxh"VS9##ޯ \+KZ2< ~<;Q/QW*:(Ip'`2v\8 w7)Хwt5@3Ytw]Xa;|,k=d"! ` n:Xheͺ).7d6(ӳ5fn7:@Phɣ :r&JwsJS]>3YhK5OKB:>Cx?hd " J  (+ + *+ + ',+ + H++++pT(8a9 a:%Ca>r[@rjFryGr+H8+I+XY\D+]+^M8bۢc`deflu +vw+xX+yz"dCclang7-devel7.0.1lp151.2.15.1CLANG frontend for LLVM (devel package)This package contains the clang (C language) frontend for LLVM. (development files)_&lamb70GopenSUSE Leap 15.1openSUSENCSAhttp://bugs.opensuse.orgDevelopment/Languages/Otherhttp://www.llvm.orglinuxi586Q[ =D?o6z44 ^[H ].+yg!X E&7bb}t|)S2dB ' &C yu#nJ Hv<},g YX}h3ATUP@&$KG 9<ru G-8m 0E)q4j'Y@IJS m /5L|* o(*%RFad )rB+ Veg$@@5!BDd;X Ri"S J $".v%(` \JJ^#2zH/WY@ByDj3(ޝ+U 3Qq c)(~d \B&D VUn)2G!t/3Hw g;],<Z1'W{g ,?v+%h^ Q m;G* T72T PQdM br wc tL)ksR +"@2Q 2 RQ ,46-$& #) |  xP'{WPLLhwS5 X=QOO{.! ' 58<+ܾ:: AF Sx  (V,QHa% ,9t+$|c;Q&OT#@. t$ 8!R.< 7t J-e31>l/bŀ{OL jQ; 5rVI5^!Sf5yCL$ ?toG~0!W 5 (9c D$6#S  zJ v% 7M 3 ? SNaf ZO[*b'  3~ =I 0+ ##( """az;dSmCm4E9v'r EA[~s$ ]17ǀ(G!".-wL0.Fx&V23cRvJ$i?,^H-+cMrv|,s3"GGxd ;a%@A'*7C\n(fM X![)QϏWu*7#5] .">xL2n h4~Ih(zR=#YWQOZZ+ci`/lcM&[K M.4 xAA큤A큤A큤A큤A큤AA큤A큤A큤A큤A큤A큤A큤A큤A큤A큤A큤A큤A큤A큤A큤A큤AA큤A큤A큤A큤AA큤A큤A큤A큤A큤AA큤A큤A큤A큤A큤A큤A큤AA큤A큤A큤A큤A큤A큤A큤_ _ [QZHZHZHZH[_fSo_ ZHZH[_f_ ZHPZH[r[_fZH[_f[_f[_f[MZHZHZ[_f_U_U[_f_U_U[N[_f["[_f[_f[_f[|tiZH_U_U[_fSo_T_U_T[_f_UUzf[_fZZHZH[VUG\[|tiZH[_fZ[_f_U[|ti[DZ[_fZH[|ti[_f[_f[|ti[|ti[|ti[|ti[_f[_f[_f[_fYZH[_fZH[_f[_fZEm[X[|ti[_f[_fZHZE6[_fZH[|ti[_f[I|[C(ZH[|ti[|ti_UZ[_f_U[|ti[|tiZH[_[_f[`[_fJiQ"[I|[_fZH[_f[_f[_f_ ZH[_f[[Y+ZH_ ZHZHZHZH_ _ [[E[_f[_f[_f[_fXqZHUG[_fZH[_fZHTZZǎZZ[_fSoY%[`ʁ[[EZH[|tiZH[a1_ [_f[_f_ NE9[_f_ [_f_ [_fZH[AY[_f_UZH_U_UZHZH[2:[b[C[Ng[a Z)ZT2RZb{[*SZZ)ZՍ[_f[_fUGZ[_fZHY;[VmZHZHZHZZHZݥ[_f_ Z~_ VX"+[Vm[Vm[Vm[Vm_ [_f[_f[_fWV[_f[_fSoZH[_f[_f[_f[_f[_fZH[_f[_f[_fZ(z[_f[_f[_f[_f[_fSo[_f[_f[_f[_f_ _V_V[_fSo[_f[_f_ _ ZZZHZZHZ_ W4ZHZHSo_ ZH_V_V_V_V_VPMWi[OZ [[|ti[_fOϔB[_f[_f[_f[_f[HC[_fZH[_fZH[_f[_f[_f[_f[OZHSo[Vm[_f[_f[_f[PZHZHZH_ [_fZH[_f[_f_V_V[_f[_f[_f[_f[_fSo_ _ _VNJSoW/[_fYf_ Yg[_f_ [_f[_f[_fY A[_f[_f[_f[_f[_f[_fZd_ [_f[_f[_f[_f[a[_fZGCZH[_fZHZH[_f[_f[aZlYtZH[_f[_Z-So[4V[X[X[X[Y[X[_fVXS [_f[N*[_f[_f[_f[_f[PP[_fVZZ[_f_ [3[3ZHZH_ _ YYZHZHZH[MqZ_ ZHV(ZHZH[U%ZHZH_ [[XO;ZH_ ZHYuZH_ YxZHYTZǎYuY҈YxYJYYYZǎYu_ ZHZǎY͌ZHZHZHZHZH[GZZ_ ____ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _[$C['3b5a698ea3b7a1063f630ff48868b876f794ce67a9ad44fbb9824be310023781032964078f3086d8998d21ec5c6d80ec0dd24c17bc054fbdfb22c899f80e7cf10ee59b00c6f2edf8e805a0e52baac676596ff407eb688a19a2c5a6d72cd5b80fa4544576070c05a1bf54827053e02c877d9d41b1aee61626b303704006d84d4440ec12f4b17a6e12bc0c946c3f62a243f2a6f8a95258c86735896b6cdace8be604868781583c6a57287eff2e20178d260623284ddbadf687c7f5ea757ab44a7ad73d2ab564e00a5db6abc2c8f3c717e708983fd4fb3704f4b8fcb9611eff629fe7aba581d13ac768e88d0cd89d215553c783819902ca9a4b4d68b35f4648c4db05ea03e3e2d64bb8b9c243fd85777f00d4f2567ad8c373f346d541ce78b594f3da611989f509efb6c624001aecf5f3f0c1e1aca83b9c9024d8b111409f10289822276304c7f97965d365aea2061e4f5c90306340d3840a189129ed8af008c5edc3727e7901212771028ec53114cf18b6c62f79286eb07d59cd8a8fea70401561d9132f69f8eae34a7ac6dddcf8b161045facf58ae3f71ae5023f4b0e46cd091bf2693184b980d0a5c0f7d590c499b78c7ec8744fa4b6f08a43acdaa420a3fb9b9e17a22e6ffee0473f5092e50681471ecb914f86648bf32a538d26b440ec1ba12ede09ef78f887c757128b81445b5dcf220e796fedd6a7cba2b1e4baceb20564c3ba810581864da4ba5abf140b66fad882518441b243ac5122b8f67df8ebaecabe1a46aeaabb183a0bbe5563354e2d3c6a605ab32c2cc3e0d74184d9ba16682a7cb5edadfc307c6d6864d9233bb1e943c2606273f08d081a151d2ad7001d6fc5d25c1150cdcdad0ae6fc821a5b906c8c6b78014587aaa0eb7d8a01e51eee3d8fb0742ca58c5f39c49b6f9cb47aa70a181b17ac57005e1465adfaf8ed43fe8f8b9838436625d00ce48db5fad30c951cf72c966168ec8e5c0f6dc9349233db240a790205b30c5925bd064ad36a6c73f0fe0f4509f525f3c41da0aef30de2147b02296045a0e74a6e3f2cf8042510e09c360089e71948d84a34cbb3a51ffd8773923ac117263162a4cd59e79f8e40d3183ea4078030f053792d3d3889ac6ac17501abefccefcdcae09b996013afe3568bd4b8c2d88a60865ace2ab0f1ba07caf3795b345e2a46a0f4386561a65a62160f54896993dfb90d545f230f587a5765c16e203e01eae7bb87aeffa2e05894bd0624cf17253cbf6c84613bf153c1ba7fe068b695a43385f4270cacc28bdb75f683c2186ed83e3e6c756c5cd1fd25307a68aa5efdc10960256ddabf2dc5bbc061b2c8c9af56bf905a49455c59dea697bb768ca4b0fb41815a04b4067bf18881e87c93926af11fdf6ac7860ff8358f822548ec2a45d782b8e6b6389d9dbf7213334f0eb4a0ad104b881e328dd0bfdd8e7d46365390df032ac735a907bef4b6fcf72bbd5d60638433f2f4a322e85cf1f31717945bd75c782814c6749459998a2e0fa9deba1a2a68697689f7dca6ab96431aec192d0aa8e9aa2c3a9a857e9111d304d948db3ec281ad43febd9766a2041a8587ebee4eab7a4ae7284afef204a25506c701ef348d4b0e94313901a1c1cf94f6b0d07b70f54234d607147cd1c6fb9e7cb35a730a69eee1aa47cf5de5c1f39088ceba79c859427a42a500e43200bb05e4ddd84cbe475d0d963d1f14fa8ec8f78fa2179958eb4ab007bb2aafccbcea65928418499ff0bdd13289c8f05e35c2d8c2b859220026a295e6a602ce8c6c6d2fedbc6ded49b27c84e6caecb8b711996fc744c1d1ca9ccc0b3d3e0bf660d302501a70c858261993e32287bf5268e712469876424c51bc08fdb588881f6ceea8b343ced1062832d0e5d508931cd68a7f860ba656563b68fb0ad0a090479000a79879e814c62fc78e75814d7ba8620e950b1e7642736584d9a41048da9df0da6fabdfcc5331907a0a394834a054ea11c26308ff42415885145faa5f2447f4094893811be61cf7f48c15c5487c3da7c43f65dc11273ea3dfd822b27197186d4d97d1a6238e7e257aaa33ba8f1e03f3597cc3f693cb3112753178ced57935f0d24aea6a3f8416c219c0e9c7682b63e8a3b11d0c3ef0830afdd382253a032b6ee1a1977ec9aa6ff51d89c479dd4fecf743b1607cd3b70df82667fba15290b80ef0c821e34748674fff9ded7baa4033af330dd505115d0cd6909e7739979ca4f84af3f74739bd99bb017fd4b18abdfefa97f9be2e6701aa3516cd449532538452545e15fba62492032340b67a6191dfb8990b22022b1b490391f506ee6024ff35c5dc6e96be54977c8a3474990b1c218e4af9d2e58b65018a979b8fb206445326cbe2ee167b9bd86480750f7bd56cfa2b0f66fff5d2efb1c72d0351e5fa7ed9afe3eea9b25ddc0a333d3d08ca0866ba2161c3976a3ee787b6ff6ceb2e66bb3e292b8ae452f25f839c0c5e437feb79c89d4f2c6baa948616a2a664915cbcfcac8d6da0dedafadf62299eea27bccc2fb21571e9ec1b0b4188b31e6c21cf3009e5203d00378aa29901671a2b076cb4e27180f5f73f54b93864d4701a082435558a9efc381103ee24d4183092f0551d2dadd2eab7b29b760ceb63c19671d193112616ca5dbdc88532b4dbe586604c25fd6044938f8a1ddf1bc1cf54128cae1994f859cf7581b9fc7c5df060fc45e28f5ddf4fee4dbc39eefb28f23abf4dc45513977c997429c0b28fba2a9af3ee7081312669aac7d8b177ca56c47447a3a93413a04a1f903bdc47cf4bdca24d452116127c961cc79fc69299c90c26470c4c2e3a06499f82f95f378f1070c1b771eb59815ca2de79f202eb547e3040536ac88b01a411fcf517f036cf5dfbaa693717945296d6764a9bfb2e1e00603e57b4b2757664c58cb59f1532bc7e63335e5421b01b7dde754df634b4b2ed526b7063831fe1de6af7eeef6caf1db77d8de449f28cb1df2fe1f558739e55ba1be90308b64a8723e6fae404043950460060cc6688862097896890933238b786106a2008e7bad3b96dd6b67ac69f9052ea194e6cc089ba96f22d624228955864799805932937b22647cdfa9e09d96b7ed00cc6f5ca6d768f589f39f0c8e203ae4ddad60aa2f4de3da122426625b29d9e825b3c24480b34bf429f934a7093c172583edd200a8220e96e42907fb4351bee6806cdd6e2e00e54b5ac3061ddc373ed25bc000c15e3959dd5469d471aa9c44e074723f66ffb9860abcef9ef608715aa2e3ef1170590ace149139efefa6654e2aa3d20cdc7ae790b80d9a16a3cdf2964a0da286bdc6e5e5f890916e5ace75765704632e046447b393cdf5536e949db1ad759120045f64ee1cc462b8961762d0304e516a8534c49d2d4a2326ef1baba74680840408b83b8e94375abf57db133ef2b28312f64e1beaa62b2bba1b1858ada8a7285199079e49d664878618d232e0eaa665cf2d3aceb956c6361116e8fbb9d67cc89fb43589a904f76c2936baa19501df6276bcba78cd04104bd25673f79d99d2e572bb3e2d2421a1c9242184357518f50deee543653f804788b7da236f6d5b933c23a87fe25849602a84249edcbd0ab91c60dff0f27b7a47d7d0eddfb108207d2efa6e23aac44b2701b49f6975c8585dca065b11ad92988da07777152569bae996162146fca40b9628bb72c03b3cd7bbe25369828b5f8271f7601d4ef29fa0524a9a8f473a0bfabc4e6687b00233c2d7db4985fd0a747aebea5c3563ea30a5a916f463a6321fa78e6e976a4f992dacbadff5d22cb023604a7f732f6600a9caeef7bd07454c2a9fb001c67acef53047913ba1bbe270e38283bc61de5f4599d4c3e4f01d52aec2fcf277546b5da14e255c47b615567bb0526755618ebbf96d6330f210dd0c420c0fcc361745f7195a8feae32e9bc444f759eff335c3f3d54fe457606562c2c0112a2d47902512078eb35643fffb71c3f0cb59bbc4fb77c8886a77529e086f1db888a5f15e8f03747070a11b428cbf71e5d8374d25a377e1512314c70960b05105935196abb53f8a2a8ad8f0cfe9c9d611be7b5148897c8c0dc4b6293ee604cb72f568408da0e2765ff970a483ded8b27db57dce09d1a308aec006e5c0bf40bfac4c9b51d67200d031d3b9da89ce9eee5b08427382d4aafaa7680d0ebf73eec677a55bce0abdee93bbd71bf52a401d597f3dadf97cb5d924aff476095e2e765038fbaef03b1ae74e61571155df23353207d6d440fa4cb00fb71a3845aa4f3334509669463c35546a00e0560e79ca77251b0131e8b2426c702fe5f40d73d75f2ed11d9f5794545c4007108b3453d77702ac0649eeac88b63ad395d7e6bad511776743a8873495218f074d2136aa96267dda45715e40331d0211507e75953bb3221cc1d1c8a7f5c4bfcf5891188aa44b91d3ceb0e13827fbb1172ad2dd76093ebbee836e6c4734a0df671d4ab77786c71b83e64b8334b77e253db49a2228288e1e3a4ff77994822a282f6e99ba0be14326eddb140c29487b6e58ab4d9f067ea2b8a52ed7b0689dc9992f4a703d4756d70860ecc8ba0fa7adb59d5142b13e8ad1bcd08a826401a463bb86045fb2229ebd3f6ce401fae52096a0ffda3bf199242a05531a243f25b21c2235de98a6d17f2e4ca0045d41a47148f5ab5c0bf63bcb478dec89958e31e22499b114aa4c673057edbcfe082c960947e19c86757fc72ed7c2bc73ef6e40b5fb6bb13e8983b2909cdec02a6770734b58ecd65e559f3469fec39f3638c125bc7057e6f83f776151f41d84674be90517a833f75a12c97b4ab5da73febc0ca75ba3a84c337e64ad92e7353b6c59e8f134e9f0293a54a42d671fa92a3ba7c11023a22e3a327c18ea4f39f8fdb8d0c448d0c785d27ee1a90ebb419899f2eec2e5074dfdf6f53f3199d2600ab4fc6b480ec3c8e8cb87b2dfc8eae4e283f170ed1607ca9052f051b93fdb9c697eb85716c16d0095cebbb93dfb9eb808d31180614e490a9eacf93c2b6a942c596581070920f38107c843d889c31fedaf2de74b6d329ec7c9b06b1df9d762769623834c091e2e09363f0c915aa134372c1e29c6461d63266743dfa95776e8c2a3cde7d3fb4f9804b91f5fc494552fb87c8a83ac9adc0943a748e890b59928e63ff4fea22131564d47f8e35c4cd3eab9689f112323d147d0ecf8efbdfede29d8898c38c65813bcfe95721dd618b149ffb5802669945401c6b371c660b269175651350dba14d47a5abdccd00e6566e6f6c179b83291afedc0ee7d383f7ff9b6629be844f3fcbb1356dc9b082e86f3568a66349ca5db09d822dfa7e043f8f63f09ca6cd878bae51d8aac6e8a328da16ee9618a93b49a325a186b6bb1341a96a9a0b2ed142cec2c6c9a5a11b68e300b0c2756ac19cd34f5e21c39fd0b9e6c555cca4f1ed14f2c6522c9fdcc5e11251fdf3c820034a48be88f60235495b82804109cb5d3e741876ae3c8594840d67cafdf36e8f1dd89543c11bfeea67aa35e7a4dc8b7ac454d02b7013a4d2d84f3da49acc4b1c14fd1c884170ef89a1a5562e9519f566ed25432a593b7309a3872ec5b68ae4db0c3f266bb7ad72d942f93e8a6c11056694d4367a877332e286cd1ff39fb21f932c836954689e1d5a751334020e462c326b7ff17059ddd2e2dcaa9c380480a91344cc80498ec5e53dd8bc84b5422c2b5ed7279672a084c240e7646b286043e3b3ff75413e0679183ce1d9826e3cfb170b08ab3272e102c27697436dec6f2cb536edb69e8b0ba1aa1b5dce438f7c6fd727f3b3a741fc88a124bca53a917227279627af55f94a742b1420ffb578184fced0f83baa73e2daa696d3927638d2ba688a5e3231ca343dd3238cecba070e5b68814668af1abfb22e7bb5299e19039a9bf72b7d6afb45e65444f0f9fee3e613445e52ad85a935acb798802702cbfa251950334f11862cc48681c71376ec6274f5e11e1ae40cc39e8405579d735cb1a7f103236c471774f14a2049dfabebe170d0f0dfeca020d732e0808e55eeba8bdcf128cecb8ca5385890b4d99dbe5a762aac108d271a59a533031be78a35b9fbd64f6f54d06a6a833693ca7a4a5361bd6bca91a12926c56e690f53ae62d333d5259b750c9c8bc815c30fe381c522d7179605ce6d49ecb784cf7717fbe242829957b4d06b037e094f83f269a7b7c0e29c117e140bcf858add049965d95e11b083477278eaa90c433aa9af14a0a4c70a0a1a51145e2923b692ffff71bb43a6bb65309e52a6b4681b19861885522cd61cfb5e513cb8618e95813793a366e7c7f51097ccee007000f6f5d0b482ebf800e00342824faa47e2ae728c5d3e2594650876205455f6a8734480ddc0560bc3921077a5ce8adbc40208a87cfa16d91bafcc68e3ac69680dda91d15c12d29280937719e2c886b8fb09060a33aa13e5bd8082c9bd227b52bc05df46edba9281d86b2ed7553c6273cb2485a422a7a94d65fff4188424d41221f733234dd3f4bc44c6fca9d421731a4fdb3e2667b517ebdb11208c9c4e1ed4fc2473b99f15a4844c0ea15a29e3ec7a04ec0b778213654d722ce5ce681e7b604ca6b68c43366de73d7e786f5c95b866d803bd00976ed8083d28cd0d388625dccaf16610cb4756e6721a78d496825a452d5ef89d5e5dba8894968903c00a2d44b6ad75ec415c5033b13fa1c7d107cc6dd2bcf9695678a95420369cc01c3e657fdf0210a5fae8658ce473fdfbd24b264a5324972c2dba5bf81ca85945d71b99dbd11f8fb616958b6bf4ae698b966b094503e19b1941ed5db166aa4746a2a98b399775ec4785d8c745896124ba21cbbff1f38ec89e427298e2dbc00715b4958c243be18518e331bd5d1370b89f963929459bcd49d2986ccb92683eef9f159caed8f0fc59328c80089b1b83e6318c801ba535c86ef910e1fc5b66f9d98180cc22e4540eac284b3a66c767a82d8d4eb0ac6cd2db9e8342cab691334755b2a3cce796b8da86198316cf4617d2515f15400174a1b312c1ced8ff1f1dfd674967fce330198031778604001e0d7f6adb4be9ecbb3121d6188ce76b82166cda6c633c9e1585e19c1d08640336528ae36277d58c23549aa05227aab66c55d7423311d82ba25f1e69ba45602b73e6d28833286907ef22e0f27dc2b4bd23e474cdbeb3ad943a613a2cfd155cccb7bfce3ce23b1af9fadc8dd7127a76e79e34bba73f0c9fe01671fb019e14c903a30431eb3e7f315f20380d8980efefc4073419bec17cfd629aeed4fef9b5693a6f0abf3bc2dd8b68db773ff85959d9f12a0f662a56c834da97c83f13f9a25a40428e84bd7008d23848a66fee9de410d6198f5063b0902eef9417790fc5a9b4868538f601e7bd92e236857a239523d6c81c33bd6dcab32a44606055c97ca7758dd155f1821f33b640323969088d284bd1ac974c970080b1e5db76ecfef64339a03ec4bd5e76fa34b24c27ee06edbc1151620abbff3c59da0192c9baf6c06269adf54590e6a6fe908d9f3478af9c5454ce1187e3b444167a535243ba6deceb70117f3cb3a29f0951488ba2f4de0ee36220c7af63963dac0d28ecf6bfdcb2d1a0a7b8aa1455ecfe60501b8852aa02cb446b3127f8c2effa1ecc6cb73556911fa32d776fa864d261b1568fe6614b2179882e981ad6c746aefa35b9423df014a9f5e73ab982536bb2a26614a5f9daace3222c86da09d2cb1f484be4e8fc4f8df18c196f6ae4b92fa1405a35d18ca308631a43a898b7161028fc7b23ea7f87db295b94435653fc488e370a25075f63b60943094fb642e4166e0b631b448e399de33c5eb114786926b7b78b39642ee6f23b1fabd57bb83feba352dc60baf96d5f66f60c1cb2c1644eb0f8b999639a8fd9058d52e0045345852c92cede67e8568b66ae92bcb34b82bf0a67d1ff54721457d2f38001ac48eaa4b496ace0047ba7fb703a60c5154db2a45def9d1bf0bee92c7b9ec5e327a1e65b5ca7030073496928fb3d17361f4b8e94d6be4f466ac4d64aba57653aef036e2109700f5d8d19c1854d15930f6fb2764b624563769762c499101f1f4f9ca38b29fc10e6bed417b6a306d3fe1a76dc5c6f49875f9d5b0eecc7861cef812979bc95495180adae13717852b149691ea38b5a685c1d5fa629e6841ea7b4da104610c724044a814530eeacc5feaa8d0a9852af7d837fb332804a1adfac90773e51e73c789cc56586da06b332b811ad10e62982a743d852b44748b901b6f262c0429ef3aba0ce59c93d876f276980d5aa0efbb0ff92b6377a1324885afb42da24b6701c0de191a343953c4fa9c16b24946fe2a99590351e9ffc63f6ba1e42ac8fe545560b8a9ef4288f8ff42cf83d3ecaca7db993c217bd095e61d3b863a1ca144efdced2cfd10c4d618884549ae7ded2368985cdd35d5cf4932588650ebf936be9344ea20f4de233f5fae9a861210b69ffcc45f593bd888a9fd3f05959327ab4bf0ceab7f566e46c1dd188e6bb5dc9acc1d6bd6b995bad3a0365356a7d445e391ab455270bb4d1e8c23037c05a7ddea15414283125f3ac4b6ab94a1239ffd3c95a4971086444d08407a37f614a7b0e376a147399aac69639b6d85fe2e4d9e8d33c0fcc37e4b0011a3622310c651dc5688a0443e714785c40327d2ecdb2fcb6ab714f95d04682698eb8b1276c203ba20306660128ecbcb682d03ffceb868e88e3f2fee2a4b64358a35ad98967f5ec6ccea5b5f7d051dc4f83e298c5d00f61ff1c4f7a8c638289078bb3eff149d030781b36a06dcc64baab26524babe548f92fc029df56ac2778d4b1db32c355497eaccc54a332c4be96a4cb22af18be42530b5258d0ef530fe8b8358177c48c347744a8d3aeabc4de907eee673178f96aa535fa6c70c368c92f31cb92f14539f606c9cb0000f980f99395c64d3d9b496419479079f243c3625d4d1036dc4a1f78b03e8ec7de185a9e87dc9ff81e06e4e8bde3c7cc9323605f99fd2e2ec437819b1e4f10436e927ae0cb6415eb9a123303448a733f748db218b2fdea70f8e99751407d2ecd466b296f7107d8c39733c1d0fcb20ea02fc8a8a52e28463471bfbf2e036128c8fa88239447823fb7db263a5311ef9f1b7b34a5713e5b5a1b866940a98d72f4d7ede77af95aa4546427f72228b658d4c13c7816b9783abcac843560ffa1e99cfc62251a0d21cf69c9d69454529e091f82b4b449168914b4ca5423fb2467d6c7011bd9f7c1f522fc93f0eb1b01ad1a0b836c44169aaf65c288fd5ceff612c846df1c7dd2c40489d929198276f443fe038472747e3c75c2510e287e174ca1a94a1cb7d420c95ec89978b853c988055c58c6786f5a088ecf0b404d2fc422edc30381fac2959e12dd8e882568d5ba937fad08ac67071a6f874b21ebb0fc0e2e85e7d0604b0fdba895abdefa17e2f83a8e2f10628bb9c913c419e84d5b8856104d275c146305d6b93221e36aef0a175aa21a0d47ca4e979114db2617a263ac27f899dde10482c33e24b15fed462e905f28bdb4aa4fd4b82e0fffa29c35fb4561d2422a9ae177869421f53ed979a7f5e98c51d68da9098704cbfbe0fa5d8cbdb8279a6034703158cfa0ec846fd7d734eb4dc5795bc43a2521f30892d9d0e951f9692db68e11f7a739486b45db8a7e143dd50f4ba24e036577b1f79557d41edb28d1028bc37c72e1ffca3f3607b4905db8a1d1e85c2fa3bef98ade9c937a72fe7e01b743d210933ef44f9163d8cec6c140136eb30fc5ffd8218d51189903beeff1d36cab28214c3809df4e1cbdff709e202c4d077f89c815d8f3ca732d87ea76e4315af18de8d61980354eef9ecc2e3e042d2b19f5cfc10e8a0168b46fdaa6f0870ab01e2a46355f161ded688295ef0bd4d22466b0dcb8dcdc2c4b61a49489ea8be24d85f892f09c7fd71389bb1ea077e27863758e0b2122255dde88887af100830edf4755215aae92e30e7fa4f39eabded94b53316f40238f7957b40459b8899c1d35e0ee8e63a9dffb7c7b8f833016ad97a1ba165b218fedbece58dd317d1a9c3081dd75ec825eb34ed06b252ba6ce33e19a3bf19266bc1426f37d3df8ed9e04d1b82f762992d3e702c8d8d6636c15afb9bb4d017c5d4506b31dfe8795d2e6916584d896f7ebe0be488038e2b32ae6d9916b25d072d7e4b2eee79dc5e98ebde101f9244c65badc8f84a82dd87e4204648447bc467d196c10dfa319f9b63549e3666b95a420f066554cd9ba4b67c7f0d0398acafc7680954db666532208f37c13dbb339ad9b85852618306bce53acf6eb182dbd87f375b2782620311a0791898e35de7f802a3cca9581570e2c3b0f33a7075360dcbee6eda7b8e7e813ca163c43d6739ca306211b89c3165bc624dd1df583fe0daae92fea1228b479f16ea18e54943a6942924ccd81a8be8f8a04690f914bf1b0bebafa5f40c0f76da287f8d9d389338fd4d97097137b8d27f59d1e11d378d550a656122e220eb1e88dfdcd0c2b52140760872aea132991d45b4a5f479bc9fed4ea3dc2c740ef673a83410c4d7bcd4775b14740f60db157276343655d336378884910dda52491307df8173a8be16dcb1a49226d2609dfc1e14d8a726ea5524aaad9c2009a74078284bbc50f3389f373d9e0f9a2db3f5392358141576e589e633f4d519a706621c31fad0fb81877083a4d859bc7262c8d84eae121ef709f9a0ae551107c206639b7563e6d2931c0dce880adcd00f68ed3a2450f530377e2189fbaae7c35969fdd73c62ce41175723be67977c886814eb0726bffe51ee34d16d45e30dc342e94b2822e185d63a1f54732ad0cf1d8db8405c4ae66a391a1d16b20171aa68e81e0c1a9eec4f0d9846edfb1f069595d9132c99e7f0d2e44cf1baad0915d53a13456830c0f0565cd60a83c2caaccb6e06b9c7570b9dd83f6031dc6d7ed2952e157383b9789cf680008892366567af7ca6200072f15d5a0ec7c1420f5f351d5535e5502414c57f759a414b1fdb0e712923718c1429bfadb464f4aa131d06e9095f83350a74e09e14e677b683f8fccb6d6318e8046727195666d500ee3c6ed0b83cee9328192f39083d24ea9066768dee04454bb5852fcb2605cb9a61da577d959445de9bd67e7ad9bc16ceedc005fd828d9f0039fe1fd9183779638580141d1ca4615cdca305dade7e0f0f7d435b9cbfcd6ddbe72b8800225114af910cc9161ed0fcc9cb93d434469a26c575df57e694a3a9333857ea5559b7de25fb76653b6ff094a143c5024d3df5da05637f2d3b3c1f1e233669fc14bd871d54bb905091f5107a9e80197fd700a20b064cab9af750f4d4d9ca46ca2f91e076be0d00582a0ee3df5b2c977c23a5d9dd1c74cb5a0ed055d2b91d15f6451232ab8fecb52d152362311924569fc7f091965bed5c1fb17ea3fcbfafb9605e195828053d32b8792b31745e43a07ce531e15fa23d9b6e452a953d803db87c43a296b98aa632e0efd48b70909e762dbe26c3a3aaa94887647d517c4229a1e239a9decbcfdeabde7ce60276ef2feb3de85f6b4046778a7bfc8dc307fcf31fa17b49463166e3c5f53a80d2ab1a73ba8aeeb0b55902ed269440f5aa66dabc2d57ff95763e09be165cd19266e618df110edf68cb6e3de3d5ab903e7218d085d130f83a4b7550f0187c27b8c20abd5d9c9a2a5ab69884872a9c44b46016cdccc6b45da2b514d28e84b59b5eef17cd5ffd9d6a54f561431a2e102271ec23fb0419967f3d10a02a0e8826d27b3c0d7dd49ebaa1b6e53d4e6151e3bc2f55523d313ba915f84f46c92d5920211136228c554131cf0c4bdf316f14c69cae74441c391026605c5f4af160f08bb1ef5e611acf118601d7f27bd92c0f7099e331a8c5a7a46d20c4df82985a7ee5bfa6b58e70bb28efe725d68ad8d635306b126119e135f3db3f88ddbbfeb2353a94bdae59727dc18a1797a28714f62505edd4b0189fa05ae56e4126a8a52a2f3284e3e1d1eee007b22d7cb355352ff138b4582bc5afba483c9cd2efeb8d0a143ac1caf75121a8beeb54db6d6580af4dfd9646b30e633d6eac8599877379eb6162289153b2850e35034fdd50936fa344dec0b4e2ba2c81e24ab37778c64df102e16aca5e12d6a9417f6a8e7cd72249d0b2a5c775310ba10807c66d8a7517b558747957f8f2bb8e5465d44baa6bb04e191ac0dce2519a6c3840a3f3721fc65180a36cea2cef7c317d4229959ec40e8caf814a956ba6dba16d4fe460dffd928baa58557d901210a0d17e3ba68f78a9ae42bc16979ced5e803907d97610cc5ed4e355c0849e06ae452fca6cf0b5ad3563ffc4e1aea7b001a34b71b89ee120982314879a75c9173765af0e6ae7ba66867792a6db2ca19a50dc43f0e58834394e2b99db970accd492dbdbf6019ae25d40659909665a3cd33700c0434f89f8b294cd77d785caad48b8b985013d68abadd29bcc17f24adf67b09dae84b7a48dbd50ec68aca23831ec98e127a7223504f29afedffed34f0ebe8bb2b71c25888951106050712af29e1103ad32ce81ceb19e307e80005197f2d23d0af755814898648a9dfa29458b458299aad65b445b7e2de36aab11516e508969d5075a8911f77908188a6bc99591f4c3cad3db92591ee33011ea6af6a68cfb962b7c9f37af93724662fec001c4e895bfd0dc5d045abf32dd0bf0dbaa7abde4cb67805974971ca0084ba8321ebc5a0640600da52855734989b084a62fcd4246b20cd6ad19fbed14cf8fe2d7994e8782a9a1edffdfec7703dadaa1121bac5116e584ab3705a0edf4ededaa332628629d4113dc6e3955f3b16eb6b9e2a89baf4d993c0c9da145311f337e291b8b42eceb8d4ccb3ae5e45caae67cb1dd648d8baf971b4813f23c14e60fc3ce87af7c504d462dd9a3d88201f5b809f04c9bb2b6926ea8f883e571b368128d7c1fa36ecbdfb17d9a7deb28092378762bf0b2cc2bb80b6e17c7029d265c964fc8575dcfcb58afc9a50ccccaaa9587a59fe4eb1ec33604822bace871afa0c131126cae4b352df38155435747b045f083b552f2179d8200ba2ea2237898f500296f8126bf32c87b9b7dca1059bcda5d2f5ec45cca6d0c99c77a5b4dc536d131ee585909c3a23e002e3e800d278f8ea5c51db62e54f1d306beb4facbcb10afe93bb8e82dd46cfc73a06926ef21d6a0f0c027019847dbbcff34e7945c877fce997cfe79ff540ba508c9a28ecb72454b1800a850b8b0af921d8cd31e151a680cb07faa3605f078b9b4e77d94a94ff3ea9f05fff46ae0b80c8b8817d8fceb6a473dc463fc27d76765a6f5fe3e1acd6afbeddef3ec6cc2b97fdddda72c4ed876a16706f2e1a1098c2bd934e7d2693a37fc185c053cbbf936a5ddf42a1331a6bd82d6ffbafd55d32f46a6366eb2e7e6b974a68336734c8a1bbf1a4b5f60222958fbd278958ff57054ca8bb82aec4e77a430174e6ac0ed22bac3e89390ff3c282c9ffdaba6bfc93a03420a861c2e2a79c5bb8778897918b6a4ebd10f475bdba8ac8057dc002ad81eee15e53b4101ba7b555ae6ddcb14f1d6bb603c7e9318dd22cd5e8dcebb272bfde5d58702026c7cde20d17ee89553da0ef7f14703b7cc5066ba05c2b05e197580c6eefbe2eba7a0e8ff59be33d44f5b05e2fca589458923c07abee95779e22a6b6eb0360a9e52b67c4d473d95d680cbd33348fa95b174725fcd1e14f569bc9b1fdc8d5d34295caede5f18ccc9b28f7c1a589d6728d1d44db2d88df866f521e8fd62e82fa0f7fecc8c092c7b58db6c894350a610c239447998a6195f3528e96f1d55be113331c1e011e9f545c176db55bb67c73bf7cff298071f9574c4ff29a3e72fb72454b11acfc2c4149b73243938103c4429b07d59930fb9595aaa63f052da0f6013639b775060bebebf35a68271f7113cce4ab4c207ab54d76cbc9d7682a98fc756f9dc10ea4e80dbf6f40e14dbc02a3d1156626773b17abfccd242382719af4b70992442aa4f84201970e028ab6eb807644aac6c370ce9a9cc3e81391a6b0a9b60de7f88cc263976d2750dacf28ee98be48dbbdc237e743dec40cdd85d9d1900c9830434b738ccb4cbf9e665cf5dc4d320ebac343f62f881568ca04642b930c945aa0a3eef15dc68b2a98315f8d07faa7fe52478c8f7f0f4d373a67a31c2f6b12e455d2c0b49a647b70f32d5867aba91568406a2d5823eea8556e6d9375d0e4ea936825078cafe75b5b75f539cd9c8c7288455d0c7aff7fd6c7626690ad8bd2862ddc93bbd3981c6c64eae1c67216df4c68c5a7930339fe5cc97cd449d4ea555b6f7875f9306dc80ab6c67040c317a01201907c45189fe54d3410a92f9a26d4d0743030b29ba290e4b571b66337208482a5f022fb7000a5d3aaf311cb6f8347ef1d0321e1d917b6c54e4989119d5bbafb661b5c1d7219a07810ae70a9a1faad2ca1fd44d51e1d5d30d5a5b84070bfee3903d0061f87708c5a29594e6a4d36241be3579c499cda5555fbba2cd7d2bd6a8478e522977bc2db4155cc31d149b9613e4f869c6dc0855ed18c6046c6922228c0f0c012b6777539ecfcebcdf98499478cc21675aaab917a34a44af55373cb7f0010edc140d8ef7149f9efdbfc195eab43b634d802269dc4897b957cc9b24da94062d38303739f361c46746a5c6bf6afd75f6be8a42d1beeb1dcceb21dd54e141a2c0ecb3ee76702e3de7f07888a8f015d362a5e0131f25ea14c58c08e4fa6257a7572bb5ce03e44c970dfd48a51a04230e9503a0232b050c00e0bbc4dc68ab11b9edf28b84b564965dca5bbbdba94ab3286f9206e144c6fb0c95aea2ad4d05b3c10cc7fff1fdc94031ad468d15875a733d3291810e6292bede733543973d05ef749f26e42cf29c6ba97368285b913fe3b14374a6d52323dff94ce86a510cc1be370f5a93fafd52e0b6b4b1972f48e1f00de38bc3cebf0d4c2fb1aa5774a2fd8ff83a410b223d2ba0279a26dfdeda3659e8e60441d613b46059d95089120a59681b5aa7ecbd08321a738608d8fd57f7ed5a5e9d947e4193059d7f3e292390d439a285f7e5650c4805f2bd39682fe288543d706a1202a8040d66bf24b900b4906cb73577cbd24739cae448b33807ae0fafdbb01a0ae58d5c31babfd86caa9b2c5c0c2b2aec97eef0414358a7d65bbe4330719300c7f2c961629d256876197a260b94c989bea6356e0b98ce769e824e1ffbcdb9db212b7ac7c964392011f6a11317847f13059cf18d11bcfd5b70ad97626217d6c20e2a53980361724ff626ae68fdec3f6f46c31163dabd485456fef7727fdcb00c155b24e9b6e9902c20f280ff1eb8b65a7b1f8c6c5e9d15ec9b8486eec4f8caa53969485f93ce3eb1b23be7ba2480d05d69011b6f6ed136203b5d5126ccc345e7a2cb48b0c07f9e142956d6a6d7aa0995819eba1debf40b5d2cd0eb64d86069f26d297d8c8ad795f717746828d649e78b5d51d07cd2d261308929de37ba49749d5228f85a5efcb01012490d5a0829372d38dab21868adac7e8b357a81e884ce1eb94c89216196163cc7e01b4ed9e4edbac38f476c9835681eb219bc8de02242e8c51e80215158c5e4abebebf221e59eaae7c67e02f329c5eebadf29b97330ac75702559cc2fd84c1e53975c955b3b914e19f72880961e8c6e2104f439525ed92a1387133c51d6e23014ae04b0fb19ae47d50c43856d5614022332f8de366c2ed95a2a5fbae88b97773579dcdfbf8d30cceeda54c5d0c6d249d10c0b4fe1b352c88c8035476c923a89f30183dc829ee11a7a97708412f011904e4cc360c8a89bc253ce0e8cde6e8ee7906ad949c9f45a0efc607cedb3e16f7a08ed47a7be2e7573488949ca969e6c192ea7e37b8788926b3012f18737a9d1e752c497a5b4c9614b78d1a1f33a2e34628a18e7d3dcc8b053b74bcf260f453a9e1d91fbc11c82394db490241302e00af5c4bd2672ca037ccb6dc5cfa89b58c83f47619e44da6f368c44a8a07ceb09d965e76141c4054150381ed31497924da3842631b912cf0cc2d052692e214ebc23bc3465ed904bd0a565ae88ba60d86499e43179ced3364af97ea33e1e91b733d9f6b974fed37e3c7bd9365c405b58950e2d8984c5f4c1a97c30f8e2088d5b8a39ed6efc89bf45ab14f6fe795434a3779adbfb2c77ef49d757065b700ae333787a93c3dbad4bbbf7c2962f45717559a97426c7cfa719dd585ecfa7b127946f774d1f7a738d7ede108a10ee365f50bd8fedf02d4be4b6580dfe18965fb996c8ec1a81f71c91bbed14025f0fb9d1720ee9a5ea807e475a7e8b4a144bb57e1b85e67394e7225ac6e496045292933b0de07d82e4f1ffef1e72dad8d4a154ecf7a3afadd5f868ee525da30a510e91221d4e7fa032bc627560f1e4eaed5d6f0dc584cdd749a6edea126ea47c1c6dacbc936abf1207bb8b801e7d46b5292762a9f945731fdbb654c33354220c4566cdbde742a456b5665d4db26ca11c082af2a02066191a825572641040e242d01bac0811258f51f2c38aff2b9e00c4cb284d90ddf4fa3651d3d3cdfb92ae0ed14ff484a8a764df7c389d50a995b552258a6a5ea279106451204957f8238212e66f2a86484bb447be14b84ad8504d65cbc19e818b1b68e07c37a50ae3183fb3ea7bb4bd9d00c57a652c40caeaa4449f4cc2e2171934edcae35ad377921b85b4519cb61881cd955cbaf007213cb2f6fc36ba050c240c4b6ea0b16e0e75c29f37ff557093381d0c3cd19c975484d4270be80681d09924b7d2a29dc9ab44cf0d8e0dda4086e3d0cbf87364a0912020fc445c68a13146a659fe57932c61d7d459df9421593fe22687c3ae29f221e125f87a05936f2fb508a260994feef904516deb429644ca9578f4358c502d22d92061b202e06a4035204e618a44d85096d4d456b5906ee49626d37fde202e32fbb4fb514f0e1ef1003f65541754f4eb3fa059f7811d24c0a01c6f81049967b20f984f689496cd79646d96f35d2850778f9032660847897dfa635d3706412f0545ff4b7c4a370e3e31b8a7b0dc0dd865edd48ecc9388a5180d77fc29795b9c2b5c088c302190951e8c084375f2aee815aa70111564644414b75c5d00ce20a50408962da406665bb54bea9978b35de947c2c25125da3156a1aee9a7fb1eed534ca481b60dfc619c503da9e5f06866b80e7ecab415b9a06d6448a321e130537d5b5223d34b4ae5cbf6cb65c99718b2fafeb51bd984ba78b5b65c478e35edac584fbd739f43463472102316c2750719620c339557bbb374acf100d9f131b3fc524d18c825dc7484a07171e3ca55d57557013ba7355f11c193c02383430161828967530b190c69e45ed702c8919d44db898bb79fcb2d2e1519757138e12b644536793b06ea2e206642cc5fa31e180f9f614131f0abdbcca74579add48ba9ae26d1a17fd6ebe6dad2d77f60ba9e1f2403e3930929ae65c38c9e02de4a97e7372f8e0c0dbb2c14706329dcb1af75cfb1e493016166ab28039f285bf7194c594334a429c30f20afd1cd5b5f0e8c2ef73efc1b635a7b6757780365d9d90164655cf90357da6cd7c9daae48f5a0b0e7bde6dc4098f84b2b03a81e3253e172e4587965c94e2ec613bdb226d1714e146ab2c1652a81f99b7a4598eda5f4a5f29f58c7e7cbbee0133042e27874da9f01f534f48ac74d4a8ef3c6df9c17394e0e7afcd165238995e10e691b48cdb46afe250d2eec1d8c9f347ddebfd553c9d31fcf70df4a44be885281ba06d7a35de76b53067e75a69d385a6242dfdea5c1d1da198e32bb2919868d28f9c3f2579f1cb0038090c474f29f66086fbf7483538e6963f925b1fcde189483a0b196d0f7977c9aa606d713f70b49724d5429f6b3da9ea0f86c1613421e782ef8261dde5f5e2463bad402299e3f9657bd8bb7a72f1299b1457af4b84d903a4732945a8588a2d41f8f72644f43d332ae127286fa81703fd29acca435f77b0f5f447497ce2fb9ce31daee2f832dd338f557f0704389a398b4198c9d9fe0bff8d19a9dfff8bf302fd05ea39a3ae16498c2d1c0c4c65be2482e33c45b23bb8ba81851cf509a73f04cbcc11d46518243feb2080b11d6220d206e1a28cdb8cda53920f0744d546eabb0d5a3f5b60617037ca6572f5de19eda39569bf2a9913f3c1c6e2a023ad36de55ce499a208cecc0876c13297f65d56cd4efaa2c964e28bdd00c7981e33bb3d8044c1c7b20cab3be9d3d80265774fab54dfe85d35e37bbb5527c1bdb5cf3d8e83b087721e238b75f1315b36ef26b54ece77c64b6a25126a779723ae8a924eb3d6e10bd82d549d7dfbd4403e488e8aa1678de79189ee27e9f3c747589160448331e27ef847dbb50786f1cec18c893edfeeef1e5fb38bba2db39fc40fd0d4208247196497ef43ea36a9d4e365f3ff34b55def3744eab839ec0e159e18d2ae331df0ed9f7e8186ef39ea460ea2e12a8d6774853d10e5bebe27763e8c9d426bce699f0a449574b1cbf8813c28f22a12d5978271f5d87f600ede53feefa8142b084c845862c3c9d3f93100e948b830509f7a3b3c1bdb2cbdf1fc4f3613d202321dc00591322aba05f2ceaa92534919441a4038156791fb3059557919c4bb60b3d396dd416280be31457146b5dd55ce8f6a716813b13c6c2e7ec27d5fdd39812a4aa95274a751c7e403bdd276bcaa27cd3a525e77b82f3688ca6425fc9988e6aa6e88ce0b526ac4dde753f778efb5447c71ab29ffff36724f27fe5b788db92a16840c9453a986699abeb598ab314a1af294074559ced6c890a8562d646e18165a34c5ef6d030631c1b945e5cce6d16ccc5f906355f767dffcc8e61555dc0e9698a3aa6357dcbb190b1491494c7946671b1c20c25670f9ef65515f6750356af02df11f44538b7b624398c256f0cfc9bbf17b8df26361e1777bdaca0b53d7a20c9873f251902879ea67def70f6f016479d8b9fe9d29a09a00d337356f4512a08ff278c658f56a1c87efb00958fff6cfcdd7cb55745124444427e897acf232674e95fb2c20fbe9c219afaeb16e871cd9580441195000132c1936f34e62d36339195efcd9b55a185af09b683b282e90d38f243958f87c5156ccde98e6cb64b9f9940b55051ea816863b6f179861a5477ad26d0388fc2d5566d109093fddc5179b67195140f3f8252a6f7fdcd2cbc4219aed893247fdc18971b6d47b75e087b63a4013a68d355803c3d9a3ba6f3ba72903d205fb1deafe54bb44ecfc20ef1bfc9574c40e952ca1dab3780f2fd28e5557b7ba90730a9369b5ea6fb995758737c52b7519b29239121f458f5e6890954744c6a00b6ddbe2df73ffef34ef8c93b3b4bad7c5f9b2eec9722cba7fdf44ece1846ddceeebf52060d489c5d65d104806d1b551f668cbc02a38f4f7fc744bdaac535f9b99d19a25d12b967f9eb28fdae4a88785f1f11e8b0cd065a0d3e9454a9fc575e64d3a23fafba7807196236c8efccb3cdde8f3ef0f0d5eb979806b34b8602f25833dbeb37b93f185275403297df32751cd758d2c17d0fee9ac053821aff166ad5f8d8134e7cbeede4d8cca4fa29d3b739362e276cedea5cd6f8a25fa15e1ac75a5db84c409873df7137df10d77e21f8fe84e52f150393537f61c62ed89d00e4802205d4600478c3e9324c6e0dfe45201613e1615b9928190d333f8585a107bb8b37e9e2b9f2b06dcf77a14345c41b497a20e2d6409e523f4ecb2e0d1c23aa09ff0516329576ce63da8e3c6647d02ab447dd56b607ec082e83722ee7bdd63c5f4a3de77c3829adefbf3b4cf09195af64ae3eaf39a663b641ba477cfb644f00fa2347ce29968c4d50616ce931134e97eca55bb953de8b9a628e46fd30288e8a49ab1ab75576f7e472bcffc8ea8ca2fe5eeec76f8155bdc45400780e2baa6e860e5b97b7770555542052ff25dcf857f16efadd7caca82c9b96db956a307b8477e3a39dd6db4474a513e91e945c7db37d785604b226a2c20ff8f2ec8fc4dafb86ed4a6e18b470b68bf83509096265b030e08f5be33d4ffd9163c2c0ad932787580779aa8a2e6ce407e5b101d606c1e10276c21522aaa101f0c375f155e70e2c024cc994a08d7bf0a82e175abfbcd30269740cb374368fa7da9d8e4ad74a35275909adc12f888720f6ad9066a5c0affd86f21c11a45f64b4a4875e142a5027d19806c53787bcf01b9e2385497b962b940e2b7d24bc3a97abd89b6ccebf8f6ebbe02f9d6baf6c79727be87ba75640937e7d708e2cf02a3ff726742ea2b6040f023080266271ac81124363e76161d2d87b5edb07ffc0fee627fc386c1e78e3916299032dfb735b058f69a2781822418bbf87c3658e161c8c7b5b5f4d84ac71cbbf7e529e0387c3ca4fea31a1bf3eeb19fcc73de566efaaff771dfdf127fa9919ae83243229d3e6ed47bb92917ed37b88d0fed5bafc225744e7c8c9bb478f342cdd89f6d84ea7845725637f73af13d6cf7bad3d0fa9d5d487e3949dad05bc07f82f8a542c187537be79da00b53af0aa456570cb25298ff6e2a92f852aa560ce5c9fed03f88886e91498d561aa7a8c33f46eb7a7364abc01c1ec5d42f325dcf07626cf49e53e396fbc63f96278d7ad9b4f73acdf6576bd307bd4b28c00b4609ac30ef232e634060ea68288ec0118382913626ac24ba9e59579704c15a446d6f6ee776c8be48a2dfda387eddd81d46ed4ef9132c136a72945792b2b5d39aad11369bc5ac138064edcbc7728002927d2fa1d6fad47a02a1af0dfd7873170e5c8f24aaa00d22c6ae31fd7e4872274e36ad2fc1bcd7c7a26def9ebc3725abc140f99fdce0ac903f52f51b87c3d2552fc5a15ddfdab48cc61d0fe5aa8161af7e6936457133f739660ed8d9afa18c2088d34de6a0a08066686103a666bd80b0c7e372eeac39e834a7f3f073030c538e3b5bbd9ad005809414c76b3771c0fe3c60d17edad6dfc6fc09e812eb69a929d7bd81103c47d52d6f858fe31878c1e93fa99ff5512ddb47e20ddad3f422f5f02288eae79e120264545e8fd7f7aa0ff21a20907b9dd4a5791704c47681c37d2aa80652efa07654bcc937ebaf70e733967676bb206607341bd4e3fda779f467d89df4b74b9594ef0a7d74dc52e4609940db6a7a1e530328f96c74584f4b8aa696ea098c7c4289b6a9ecfd86cea60f112f6add5b23358f53abb641354a78697ed53557da7303056dbd0655cc5cecd1b875fee919673f9d2fddbfaf23a6de2a8f05e5f102a9c5a6a118d070a8e04252f75f37152855820c98a51bcaf5ed708354902db3163a4a5c0fb2dd2a5d75db50070bd61591e9a7ac66dca0c5fd7677ede473fdb0fa8b62008f7e2b533130accc97ffba6bbf6a5593a7af6694411dbb7357c7a364fad468f8d886a391c6b0bf4d4beec742e2f8f99632e3e74795e5bd40b54ca13d39932cc5f5ca0b42f5d1fe6377ffa97e5cd66c828c84615ba67cbaf313c86fabe442da9bcd68c0de63a2ab0fe2091fab22e4f294adadb79e1ad0409e9986bcda015abf46dbd209a52bcae06375fdc0e0aba758e881c9d133028b7263c46d8383ec355b4f37727c6de46d9d4c5bd4e86355598e7821080049afb9fe451df1f736ad5d1f789d0230ebeb87001ed4a9e442d3de1a3bb010a425d157ec17bf72c5adfaecaaa05f92b49b32391cc0982b796e25e41d827919bb6a13a27f0d5b17f43cf35bc631a398b6e2ab876f2bd5f284d992e8f02a5282a448e8388052ce01aafa22e3c0fa3348e55919838ffdd78731efc8c36d5e375ffa77361dba9bf5c477c76d1f25a0c65bda956de3bd039f286ed479a42097fe5f36321a19c7292aa704850b8bac9b587d19c2b98dedf75205ef46946bd5ec1d3bfb5207cf75742a4e03adaf15a4e7cc0328e4d47799409c5eb9141c455fc42ec46c361c977016686b34a40c93f40edcc4cefbf70eab5f205b100cdaa849bcbff8649780f7581820f177a6ebef0497e2f9807e11d52120845bca2c88443aae4c33ff455ea8f8005b1541a370b0a8d2cd7f303b9a1ab8deb17be83b77c39cd07da0f64472c64fdb53d8ac0010525c283948ca5f0e84b4ea882236eefe9941e7d86d84315727b84572aed60ec03a7bda3c57c28eaa48e8c0698eee0dce28712e78f4ac13aeb6ac48ed78e4f57056435e4cd829171f287a86b6876f719c24f9cd9b3e7776d4756be155597c9abb655f8b7752e82069f8a438954382598d3fc10284aa72f9039d9f66ae199d6ea670d504eea90ff5b736f39e8885f4bc2cdf28b817e690c3295853b7675c1df5f08df338c44199c534faec2bd9c50da989c041e19c85c1e0134bec8a660436a1c0ca2d405b4662d46d14b1bcdf2214cabb685721dda5954f55b0bd0115c9a8cd2f4fa43acb42e1c4b09ea10800872e537c67c2b24b1ce869a18f46ddbf6e63c6dffc8c71d92a1ab9006fe03f6cdf1510427677efe86989c6b8d91cdf78f1af81475383dd4b40143bb74ff01e5951d5276a776e4baae4d32b39112218bcd177badf51eeb580ed978255a672fa0091dd634edecdfe7abb00407262971255cb89ee5b93a3a869bcf5454aed4821cea8da7a80ac059adb819828c8e99ad5d2cdf268a60c05481358a922852294ccad7288a36ddf5507e5c803ee8fb7f73ee3810b54c03027d0975ae933769916f523b2eddaf0f51aee5f028aa172635490d2e8b9a66c7496020c38a8a4117ee81ec863e568d9de6863e74c83599e98e7254aed01e9a94b67f79a95e3c21ca80f1aee7c6ac8a640acd7d890658505ee9ba24e818d6aaeb57e82dd68ea16de7edd736255aaa17d41f36d1604819c2ed7e2173ea2ad453d2efaa25037997712e343097f87f28e8d431374b7871f8e56c34193241e9159d8c35b00c4dd36376f9546985fa3e2c797ae60bc56796d4d9f8cacdabcfb0554c1574f8cf815c6ed940e485098a81082904a15eab643a1393f844fbcadc7bc7a70be553238cd74c636bccd1619b39a47881aa7af286d0676976349fec6ffd306e4074827ba144264b78335eafc05e18b1248068e2c328cab203c81bbc7b2e02bb1d62bd744af1ae7fb95a5ae05056675f03eb253e16d979a62c8c71700018f0e7d7a7d9626712c13d715dce464ec6ea6c98f7b673b45853d15a584c633c15eaea1fd910e1d69ecb5faae809834f061e279190dfc231d745637b450cf9d7ec89c3053c33f9d10b3330fa97f345b032ca55ed1c86c806d3da09e51a287391c64349afd44c3972ed4954fdd0aff1c97608a5a52befc0d707647d412cb6302547e97b8627b0e415614897fafdf2f9660cf6fef9cfd4c3fdce3027d88b4993bfb1387b244ba53515c56d218b1b87c170033afc6931280a8f9708fc40714ea89d52c9aa3b324f806f9c5c8bed44a8ce62962b137a85c6b0235f09719ad39484a8549e28fbd8a0b77956e6337bbbe11c467b34d885c640c51765f726e5933ef594e4b4ef30e21da0c2fe3d6733c951c33d85afd499b2aa397b2ac99af32147fc12fcb461375062483ebd18a7360d7932d2882947933fe1efdf231916a87bb3a795db884deadb27ce8f4cd1bee3939a637f2abc359a2070c5d3ffdcd90ba04be02ebd8c62f655a0473d944c517db79e78bf98012ed9c003f08cd207e7c09e6e7e291f6ebefba1a6902d52adfcd1f8564bf958dd5e9da5301a0daec4a6595ce77fc3314cc518b9515e284d79efe62f82ac330e45a4b0f5202102380b7250eaf315531b8df5b94575b28772b68d0d1b8ef29b967b8f807fa3b6aaa498748a7222f199787535d7917d125c63210f2b36afe7e590658cca9b5b313821f3696c8ea1928596a4ab35b2340d418bcaadfab3a55452432c0d1ffd5fdfbd655d527ee82ba3f55adf0d5b640f554f1a26688ea453b16b6a844b98aaf1b7005b40b21bfba2542f236786c172b3023550ae74869589c921335d6c7e71976c95cf75ca23720ed40523b15cbca2b0352d0cd1d10424f24270c8805191c0753d5247ddcfe15c81f0bf51233b16a7ea6117aaf522dac81a02f20fc99b41111fd9b262f0de4bb8d5877412e107746018a125bbe72a5d115b8e93109ee8d8f44bfc4895fbcfe45a8def6d594cc042630d4508c75e545340437cf13514b99828b1f71518426a0c1f27a6bc530bbd0fbce4794ea3d5604656c5c9eb20326de9a75e6941be59fd129d3aa338f174b462870da64e29d22b9d4e3560f554d4d95fced18353a169a2f1f88bb94a5827d04dde2dfea44700cb22d8e2c669c5ea0b11e2cec037640beeedc50581f31cfd0b924a4dc539b7bf826644858afed018c10711061e6380996f89992f5cc035672d48fe6ef0ee781f6f318181ecff1b5a12507992e38f27f4ed08f8cf405c0acdc33825cb9258f513b301918e8b32b7b66a3223620d1b0b0edf2fe1e129db54e7faad40ec9898b84cf2a64dfe1be4f2a7af0505997001beb56ef3d0392cad83038ae2712f950564a10c3b4aa29a03baea5b11d5b709fa9aefdb274a337158b2ee97d09730819f3e446ca1ea43afb5f8046da648e32ca67a3eab9773cac7b5bd47a515b2f11699bd90c022f0697618354f0179647563687d2d4bd4a70b53db7461e40c1ddee6d2532210b4a97aae96df575937415399b24bfe8068b7f95811b51acadec96909e2de005baeec3c735fa518e30ca10538bc1bdd3cd0e900d1ff5d63d19a59f5b0e4f1c37b4afe1c96c25b60b64abcf58ce79c31196d3af61e6b668cfdcd938214bf813dc88d5776083a11d8c67853392d5e46f1f69a66051de40066f94988ac96b654626a3a3f72ffba6feaf674b4b80db6724e19d440632f00525d5999544fee82895f9619bd951027ed193b586a91ac9d160d5fa66eca5fc7a27fa96760cbb78d8408a807e2cbc5b34100148d9336a1d7ef05d6f7188f9bdb4ea89e6253c3eaa7da3f4b97ed919753e3b0b65e29793abd777e803de40d2e6a09358dfe72d43c456f29785a86963eaf40faeb4239b1428da72af286bfbba2b35ec61147f9455a99ff5c98965cf210fd4ab32c42424e9787fcd57f655a6bfdcdf736b3507eae4ff19da74a11c84f5f380f3de95dab289b28a595668a2a026b2bbd847a027d603cf680ff45f478be9a293e7adf59508f1bba087db3011dfdf9389a0c07d66a53e55c7207fbcb19f2b353028f6644b4070df3751896170b613962c4532fe5cdfc37a846abbddfff408071a6cd71023c93cca67bd065643cedc07365f8b107813d0dbcfdf88ad192c5b243f8dcb72b7cd5e25c4c8bd8688d954bdbd0c24625794356639beaa51017e9643f542129d57a6da7e1c4feece8bc5e6ab67c69d503d2b5b32fbce360c0df509bf1d2ba7e0a9b2b16ef673cf21f0c71bf4aa1f4e4f3535e22719f4dcbe13ed1836a091c489878992380cbc45811891493c18a7de19ff0f827e6af895be8914093fb41b0ddb63f87e739fc1e5e902645d1d064d9cf9b7ebcde84a63821eff418549cc82278539a518290ca7992949cae5633d844b4a499703410b16a2bbcd2e89eef838ed80a7e6dd4d34e809c0196dcbcada94845449b5e72e2dba5a718df280bf54571ea01c96f687d8caaa9ccd158564c627f0d61de891474d6043409edc5311536d692c5aae7d2f976dcba8bc0a260785083e12379a8627fe9746bd994847a0f7bb0619717d002e37c66b9036559852b2f5920e22ccca252e02ceaf024f94d9b12b32bf2a459160dff3fcac9a2bd5266b249f84afefd0da025a2ead02172575ed062ff998e0cdc5d4ceb66a1f830c5d00e12abf0bbb182ba664249fcca0690f21fc2925369b91c63ad63ada61b54b0d2fbe4c9277434c18345501044122abdee5d03992a56449aac6c0313134b5f7d836940a67b9ca3521f134ecb8ddb2ecd0380a381a9281ddc9e347cc2cc6e5401cdaac68a472ebba3f3a2fab28890b5443d70509acc3036f15c3245c124f3feedcf598903bee9eaedf9c7d32a66acb482c6ef110795adee79e4945ab4f1fe39946904232ad50ee398fa9b0e5481faca3aae239deaf5818b5127b45cc64e2663c99b9ff0db800406c82ecbb4bef26ae6fa29d4fb45e6b5c5654d8ff6c9a7df9ac8f3765befad8830833987aea8d2c519089e5e8200b2441197b36dd363c24bdf01d488b3610ddb6e549b165e9595c1ffb14730c90ebf99d83e58fc9ede49720afe10fb154f268eea30144de0875db84a81e639b0ec56c6fabee85369bc7f5bcaa6ef60251650cae935034b39e72bdb552bdc4ccbdf0a9175ddde36ccd2144e53b6deeaba870440c0a86f9dea48e24af3e527006423a82c20ffac0b9c3a8b0f11d2999b29541523e6ce8ed685966f25ece7eb8bd220c5ea34363e79a950d61b3a7934de6f976df5d777e1f5a7cbcf88b06a2057d505c30b5b1b7e107fd2f80991ad0d28c3ef5f33dcf98f6d8417f36a55fb8dca3d4ce9ab559079f90dbbb979d101ab12a61ff2fffdbaaac67e1f1bc987444ab626b55a432424ad93ab32763c983460b518e6baae56f34db5fd257d1cf32f150e3a2d424a7cf88de54b9e0b8f179ea63b1b9f08a6fd35ef5db538ddd655e1746d2bac738f50330b5e245631db205b7c5ef7eaf176b7643a0430cc46cb8e3a0c4caaaa261bec37740842dd7b31858fee3b293de4cb37864092ba97b890f0ac926172394c413ae275a0cf443e9f75c80bffbd69c920b477d162bee7b79ae76345231d463a3b98790fa9716a99f94690defd0042c43e54b9d84218101b8adcf257c3a44a39b9972abba1ed859e3b6c5d9f88f54bf4a2863ab458b35b4678b2d59ada70e613b213135e8b692641019fc3979e6712357d0d75e577ef8dcbcc61aa138cc4366ff06d437ee45227be456042a6cdc7a0c59abd247766fda99a27196cab04fc28a0af1d3ba4f7546057a57f6f527eb17c3eb74f3bf36107032eba05fb3dbe1f079ce411209db834a853ca0432e2270e319f18f32a73db41231e54c63d88f57069d473d3e3c5bb8d548caf235dceacea83353acdae92026550c200f3d8edf6cc1aeee7995feb16571c405e4b952a9db8084d8bfb2e719191220b6c4099fca472fe2bcef72a761b6c6815911653dec30e7bf4d8d52e57ddac7178b2fee2262a39eb64d54e75bee7143cef2266461e36128ab9fce27e609b04253fa190133652bca747b15a4a7159ca65061c420b651e826f110637f21e8cbde6a9e0c2fc300d969c24d130f665939b9de79f155ea338225de1ac9cacba4296c373992b45b9f11f22d761f6f9ee743be52f28b7b32156241b1a00b999e2771c8b8767147e3390bd324c256c35637a0072b7bcdbec2404e66d6c5ec0810afdb6639d48af5dd79be9169375975a45030eb0a92c2b1e27671a046d6f7dcbee29f0891eafc3b1d6ee10782859439a8f50a2f29ce77b8f5ecb63ae2fd07f2554785330aefcecb5f5006ce26436df0eecb629879f6c3dff1b239f8c6163b83f761304387da18cdf8aef8d34ee5227bd35f235467fb7b22e1991707efc1d468389e4e761c70a923e900b9a05ea8be3f6dea888d5d2df769b1e4410350316ad21b1c97ff58a4f1e4e8060735f8494375c0473895aafd948af794afd5fd008a9f62d21a59fba4037aefa73208dccd6b396ca34e158ff67c1ab8c4d83b63b9a74cfe0664badbe54573e0b71d08299df5d1ae1e1bc8a664ad0dd5e49a0e74b5e43e7111b17f8c8b23f9b68907eab61e5a1687becd9b74037942f4f38caefc3e24c20753215de7dd86e438254764056e4d087849d668c6fdd7dd273cd0b9298e387b34577adb2f1ac7a0180ab91a56c190f3fe422c72589a8f55c9b7a9520ee8ea43e728efbdd2c48f6f43058f7cdb65cf456bfb08d6f527465b3ca9c2bdcdd378068dc1b46cc5bfb3ed1f2ef96f1801bf6e92ff36465b975b22f9d9ed9bde0e432e1dcfbe5a19158fa9bcb04a1279e90460146f3095fcb180b86152cd7f7caa6905d7dfde3f3421b8695cf92248cf2ea623844a9b910f18b502f795fa715cde30dd36f1ef3ac77c8cff8f079731e29a5df012de93a19def259531d0b902286c0243175550c0d1609644ccfba6046d8871c188fb5a62273f41136e8944ef6250c1c564ada4108d8a7feb37f85aa40a3487b9c192760c1eb3b73051866df3a4bcb2f8969a22fde6ae549990d742ec45a0f10c6064dacb0fe5f119bc96ffe8ff368d72a0fbf194ce2a6a4a242e885b0c32eac0f287c7e24b5807ae7c5c7ba696eaa813254e15ba0a3468dfebd3991194f561116d38e56db4abda85ecdbaf5d7b7306748a2872bdedf16f0ac250dcd9cc03117b1ee45e2b7392ef28ba676f3e1c4e75f706bd5ce67503c732d2c3bb67f5131b3fcc5f9647fa73985b44bcd318c508c61174ad1c5457fe953be664804bdfb74fea72229357065d4b7f76d41fc26b5f35671d4efaad25cf616c5e22619cb3f44739b6b2fff02d0a43734d1f5362a289d687876bfacd84791425f942aeb7c71808d774129759ac8e33c483592534ce15f5a5e679fb45c7c17142cb5c6f06218828aa2232f4d81e26e4af21aefa1b8735933ad763e5d34cc0449672c7d1034659b6732bfd69585ca5d11269af1408fc62621cf023a557d7f519c34cee6ce31450d2d6040f0437bc25f2b4ab1c6b7d22385cc825f82e4d1ed49738b4e15aa133a3f1ada821ecb9dc89a4a460bcf4ff6adcf830a8dcf933dfd5671593bf8773c728ee1ab0745ec5e23a59302969ea72b0450979997a5164df9f5f91d949e73ac812785a61cf1860a2a8d8a6e6e2a4edcb0426803c5b78f3a3d49a8bd889d1c837674b1989191436746d8bda7a0725c1c2ce3a124a756a067c9b0f3d73af1ecb6c325fb904803c85ddd4019a4e118cf6dfc7daae312878e8873f045a50642d329024e6b616e2053bb4efbdb2664cdfb1921d4ad37734aac0b38e408ccfc013600d44b2729abe02780ac04169f043ba5b732dfa120dd82c9215371a6f42c16002e69f2658183430d8ca26f73b1adfed5a510f514329b43ba3130406a8e7c57bc1f3926fd7a33d3ebc11db9f9dbc6e6160d8d4d546791763f02ccd81851a422e175c656538e6e71018c67c676c7f5c445347404490233578f63ce443c4cb58a26b61d829277c5d5c6ec0129142b7a8355201d8d5f0922b1b6e6cbe2105b9b463636fc7906c465bc24b28e8618724c394c805fd18a0e06bd0115d91b7c15cd5830d594f44c858e82404a70a166dd71235fc8e2ae801a4df86859c8f3aef9ce4a4b2570d3f2e4e719c4b1b8b56fb1939952545be9cdcc60a0ba244e25401a9f99c3dce2dc2042c5fc2b7eacf8a8b1046e383d2d968b5ae5909132af7ffc1924ad8318552b52937ea4f546f905875413b1ac197bd539c32c7dd87664fa6574c8fa3a8672a6d908e67785662d8054cc9abcbb3a9ccb878559401ac835a61988888293394cf14eeba07acefe3fb36b7cdce5d6716c8c659664d6bc8a5235a9c4acf3435bc6b0849c3cca77703f0818f7568d40ca0d6ae5301a8e21a17f1508ccc31efe3ed9e743aa98c680364cf7e819392c9704b2d3f484c978c788220b728e686b771dc8b482c403bcf57cee99667e7780b6c40c76fe3267e4e87540635f57c42440cfd34e01963b8c8486771cdc3f323c1bf1a4603d3af231746c4e4244945198b0696c9055b051b45ff6367143cd6fc149b4197844ead53b6f7d5b06e831f9cc33bd5b0c092fc346f6203f79c2121ab35836c16c8c10b97ef47e47af93c89be2aabded62807edcf315f2010b3856200a72f403c83b59fbf8b047f32b5de0762e31af3bc1f170c53768d5bed3153ccde8b53ad513d133db99848d6047e32ca50aa0ab4a8de7c4ee4ee5e9775db351c17b5bc56dd2f97261b41456307005927280557f62abc5003ce160240d1ae8f4a6314a71dda54f9bf2b05f7d5d9078192b34d92877e5dbee4722db352ba51fc8463b6d74de35b7f098156eb650ebfa6fe243cc6364d8707b0fb61b2864b12298ff5c8414fb9f5c62de4da00eda7cdd8f6685b2115500508ad2bfb6950a1ead5c496ee8f90d8c8a0dcb0d8832eb463fdd03c84adfa9ffddcd657df7618236481bd2dad1e857b1c086c719b55f856b4449833f9322ab512298c25c7f84cb8012a1e1ad639d46a83d3c5cfc9b19ea2328c80c6231d4608e5951f8a23aa8ae346c4fd88ccfc39008f9669aa56020e42ddaa0af19e4905bc5856b9a149b433585cdfe76927e35555b0ff7061513d5d57c8f2836a9ee86fcd6d1db1373394d66801740d05d045fd991ddf2b208dd9bf39a591f50e6ec793416e2867f54e8c6c7e89b68c29808d822ceeabc176bbed33a857d1b7edaf6bb2349ac58c8f14efdc5dfd72f1ae5c26075414392fb54dead9ef7a62ab249af3b180bdcbe136c849ef831d0ce83e58a3e21b43526546904f196859a010f0b335adfee6e145e035797defac6c4e9634f1cba7415d17dc6849a139f7c3a37b672ce9df5487baf1557f7a1fcd0bca490539037546bffe1fb30172419cecb4c558d19457897dee96c18e05d1305eabf0737b92f8825f5ed0740482819f3fba7826297908bbd44ff00b64ee95d262d60866319c7cf09c3d5b2926ea9d9f068801c8ee0724dac66604b03ac50b18295775fb8b0b215a51fc05bc152a12ab32d44cda758721c5df53f2aeab1b1e3490aa5574cc6310a34054475fea1cd5432006aaff3c04bb2b429eea938c362e3d78c33c89ca40639d0bb71502306afdbc8646f6ef362b79c54a8f9211aa290ad8b363575fc30ab04aa494f8ab239fba636663b950ccff763bd3b95a3c214ee2344ec895c4bc9a16aebf38c4b950f59b8e501ca36495328cb9eb622218bce9064a35e3e8f817d371e7299c3f536c2aed3e53d7babff7f184cf5d0041979bb59e489daefb25a2092f0752b754e933008f10213c55dd5ce93a791e355b0abed9182cc8df9702b9e051e82b32038ffdb33a4f7eb5f7b38f4cf6f514e4182d8898f4eb0b7fb47e7fc50db3699f1ca41ce9a2ffa202c00c5d1d5180c55f62ba859b1bd6cc00854115199b96a130cba02147c47c0deb43dcc9b9f08b5162bba8642b34980ac639c64fe27854993de85c10e737c5484969183c83e74f6479d57f12a1b0900549e402af2f1f7b2945ad4f4c79c86098c872f419dccc4f61bd3758e2606ffdc87f3f808f0aa32fbe90fb9c9c846917faff3fdd4e236c284b76c02dd33753dc9017742d8fad13bc28fc726775196ec9ab953febf9bde175c5845128361c953fa17f4cfe678a4446900f4081ab8d74ef3d1f8b1002edbf8cae3db292fcca0637310ed108f280badfe5ec5168738c4f70a59bc6ea9d1e9243ff2b951386fb668e935028aee734ce55f6ae05b5b63986b238e6c833310cc4861c7f1ec9d18b7e6ce184b0a671d6e51ea82d41f0ae389f47a194062b0f4986319e9b2bae70ada0ff4453a57a3bebe9d078f4d169dc4679989d4619705ffbda3fde3bc623a913cfa59c04d5df601cd4d4e7d9221fd588f658c8db6cb34f58e31acdd48ea43af19c8eb44a04ea034313d74ed6d552b71d78fc829893797f521994d02c27ebe68dd557da47d909bdfaabb1d3ab0bc36d4d50151555f8fe944cbc73136bb95de3015499058ce9ae3699c9557284144b5bc555c2aefce9d95b24cb3b8136ac5c38509a3b50b3f0303dfeaac87b80d2d1e543aa38d5be77b0eac93c3d04fe7e3c8eaa71a778667libclang.so.7libclangARCMigrate.so.7libclangAST.so.7libclangASTMatchers.so.7libclangAnalysis.so.7libclangApplyReplacements.so.7libclangBasic.so.7libclangChangeNamespace.so.7libclangCodeGen.so.7libclangCrossTU.so.7libclangDaemon.so.7libclangDoc.so.7libclangDriver.so.7libclangDynamicASTMatchers.so.7libclangEdit.so.7libclangFormat.so.7libclangFrontend.so.7libclangFrontendTool.so.7libclangHandleCXX.so.7libclangHandleLLVM.so.7libclangIncludeFixer.so.7libclangIncludeFixerPlugin.so.7libclangIndex.so.7libclangLex.so.7libclangMove.so.7libclangParse.so.7libclangQuery.so.7libclangReorderFields.so.7libclangRewrite.so.7libclangRewriteFrontend.so.7libclangSema.so.7libclangSerialization.so.7libclangStaticAnalyzerCheckers.so.7libclangStaticAnalyzerCore.so.7libclangStaticAnalyzerFrontend.so.7libclangTidy.so.7libclangTidyAbseilModule.so.7libclangTidyAndroidModule.so.7libclangTidyBoostModule.so.7libclangTidyBugproneModule.so.7libclangTidyCERTModule.so.7libclangTidyCppCoreGuidelinesModule.so.7libclangTidyFuchsiaModule.so.7libclangTidyGoogleModule.so.7libclangTidyHICPPModule.so.7libclangTidyLLVMModule.so.7libclangTidyMPIModule.so.7libclangTidyMiscModule.so.7libclangTidyModernizeModule.so.7libclangTidyObjCModule.so.7libclangTidyPerformanceModule.so.7libclangTidyPlugin.so.7libclangTidyPortabilityModule.so.7libclangTidyReadabilityModule.so.7libclangTidyUtils.so.7libclangTidyZirconModule.so.7libclangTooling.so.7libclangToolingASTDiff.so.7libclangToolingCore.so.7libclangToolingInclusions.so.7libclangToolingRefactor.so.7libfindAllSymbols.so.7rootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootllvm7-7.0.1-lp151.2.15.1.src.rpmclang7-develclang7-devel(x86-32)cmake(Clang)    /sbin/ldconfig/sbin/ldconfigclang7llvm7-develrpmlib(CompressedFileNames)rpmlib(FileDigests)rpmlib(PayloadFilesHavePrefix)rpmlib(PayloadIsXz)7.0.17.0.13.0.4-14.6.0-14.0-15.2-1cmake(Clang)4.14.1_@^^@]]\u*@\iL\Martin Sirringhaus Martin Sirringhaus Michael Gorse Aaron Puchert msrb@suse.comJohn Paul Adrian Glaubitz msrb@suse.comDirk Mueller Todd R John Paul Adrian Glaubitz msrb@suse.commsrb@suse.commsrb@suse.commsrb@suse.commsrb@suse.commsrb@suse.coml.lunak@centrum.czmsrb@suse.commsrb@suse.comtchvatal@suse.commsrb@suse.commsrb@suse.commsrb@suse.commsrb@suse.commsrb@suse.commsrb@suse.commsrb@suse.commsrb@suse.commsrb@suse.commsrb@suse.commsrb@suse.comnormand@linux.vnet.ibm.comdmueller@suse.commsrb@suse.commsrb@suse.comfcrozat@suse.commsrb@suse.commsrb@suse.commsrb@suse.commsrb@suse.commsrb@suse.commsrb@suse.commsrb@suse.commsrb@suse.commsrb@suse.commsrb@suse.commsrb@suse.commeissner@suse.comschwab@suse.dedmueller@suse.comjimmy@boombatower.comidonmez@suse.comidonmez@suse.comidonmez@suse.comdmueller@suse.comafaerber@suse.deidonmez@suse.comidonmez@suse.comidonmez@suse.comidonmez@suse.comidonmez@suse.comidonmez@suse.comidonmez@suse.comjslaby@suse.comidonmez@suse.comtoddrme2178@gmail.comtoddrme2178@gmail.comtoddrme2178@gmail.comtoddrme2178@gmail.comtchvatal@suse.comtoddrme2178@gmail.comtchvatal@suse.comnormand@linux.vnet.ibm.comschwab@suse.deronisbr@gmail.comidonmez@suse.comidonmez@suse.comidonmez@suse.comdmueller@suse.comidonmez@suse.comidonmez@suse.comidonmez@suse.comidonmez@suse.comidonmez@suse.commimi.vx@gmail.comidonmez@suse.comidonmez@suse.comidonmez@suse.comro@suse.deidonmez@suse.comidonmez@suse.comidonmez@suse.comrguenther@suse.comidonmez@suse.comidonmez@suse.comdmueller@suse.com- Fix dsymutil crash on ELF file. (bsc#1176964) * llvm-fix-a-copy-and-paste-error-that-would-cause-a-crash.patch - Add fix-ppcle64-build.patch to fix ppc64le build. - Add compiler-rt-sanitizer-ipc-perm.patch to fix build in the SP3 tree - Change Provides/Conflicts to be versioned like in factory and required for newer llvm packages. - Add Conflicts: clang-tools to clang7 and llvm7 packages to properly handle newer llvm versions. (bsc#1179155)- Add patch Fix-big-endian-miscompile-of-bitcast-zex.patch to fix miscompilations with rustc 1.43 that lead to LTO failures (bsc#1173202)- Add llvm-fix-unordered-stores-when-lowering-to-cmpxchg.patch to fix build errors on i586 of rustc (bsc#1171512)- Use the documented LLVM_ENABLE_RTTI to enable RTTI instead of LLVM_REQUIRES_RTTI, which "is an internal flag that individual targets can use to force RTTI". (boo#1139584) - Drop obsolete llvm-build-tests-with-rtti.patch.- Add a clang-%{_sonum} symlink, which is referenced by /usr/lib64/cmake/clang/ClangTargets.cmake (boo#1138457)- llvm-Ensure-that-variant-part-discriminator-is-read-by-Me.patch, llvm-test-Fix-Assembler-debug-info.ll.patch * Fix crash in rustc (boo#1126907)- Allow use of Gold linker to be conditional - Disable Gold linker on ppc + LLVM currently doesn't build with Gold on ppc- Update to llvm 7.0.1 * This release contains bug-fixes for the LLVM 7.0.0 release. This release is API and ABI compatible with 7.0.0.- enable gold unconditionally like with llvm6 and older - reenable openmp support again for aarch64 (like it was already in llvm6)- Use %license macro - Use upstream-recommended %{_rpmconfigdir}/macros.d directory for the rpm macros.- Remove ppc from Exclude field in spec file - Allow use of Gold linker to be conditional - Disable Gold linker on ppc - Add patch to fix SUSE GNU triplet on ppc * clang-fix-powerpc-triplet.patch - Add patch from upstream to fix ABI issue on ppc * llvm-D51108.patch - Limit list of enabled targets on ppc * PowerPC;AMDGPU;BPF;NVPTX - Ignore testsuite failures on ppc- llvm-drop-llvm-optional-clang-specific-optimization.patch * Fix ABI incompatibility when libLLVM (built with clang) is linked to a program build with gcc. (boo#1119092)- opt-viewer-Find-style-css-in-usr-share.patch * Make sure opt-viewer installed in /usr/bin can find resources from /usr/share/opt-viewer. (boo#1112730)- llvm-unittests-Don-t-install-TestPlugin.so.patch * It is only used for testing and is causing failures when processing LLVMExports.cmake.- Update to llvm 7.0.0 * For details, see the release notes: https://llvm.org/releases/7.0.0/docs/ReleaseNotes.html https://llvm.org/releases/7.0.0/tools/clang/docs/ReleaseNotes.html https://llvm.org/releases/7.0.0/tools/clang/tools/extra/docs/ReleaseNotes.html https://llvm.org/releases/7.0.0/tools/lld/docs/ReleaseNotes.html - Remove no longer needed patches: * llvm6-fix-gdb-index-crash.patch * lldb-fix-build-with-python-3.7.patch * lldb-add-pthread-dl-libs.patch * polly-cmake-Trust-pkg-config-in-FindJsoncpp.patch - Add tests-use-python3.patch * Prevents tests from failing because of missing python 2. - Add llvm-better-detect-64bit-atomics-support.patch * Fixes build on i586.- Updated llvm-remove-clang-only-flags.patch - Exclude also "-Werror=unguarded-availability-new" (bsc#1106000)- Update to llvm 6.0.1 * This release contains bug-fixes for the LLVM 6.0.0 release. It is API and ABI compatible with 6.0.0. - Remove no longer needed llvm6-fix-InstCombine.patch - Add lldb-fix-build-with-python-3.7.patch * Fix build with python 3.7- llvm6-fix-gdb-index-crash.patch * From upstream, fix lld --gdb-index crash.- Do not requires gcc6 for older sle versions. * llvm6 is not built on <= 12 SP3 and this was preventing build on 12 SP4.- llvm_build_tablegen_component_as_shared_library.patch * Build TableGen component as its own shared library because it is not included in the libLLVM library and is needed for ldc. (bsc#1086445)- Add patch llvm6-fix-InstCombine.patch to fix InstCombine init * Will be fixed in 6.0.1 release- Do not build stage1 with debug info. It was accidentally added with the use of %optflags. This should fix out of memory errors on 32bit architectures and speed up build everywhere else. (bsc#1092697)- llvm-build-tests-with-rtti.patch * Fixes build failure with gcc 8. (bnc#1087136)- Do not export Polly static libraries which we do not distribute. * Updated llvm-do-not-install-static-libraries.patch - Use external jsoncpp instead of the bundled one. * Added polly-cmake-Trust-pkg-config-in-FindJsoncpp.patch - llvm6-devel must require llvm6-polly-devel * Files in llvm6-devel reference Polly.- Update to llvm 6.0.0 * Added polly * Notable changes: - Retpoline Spectre variant 2 mitigation - GlobalISel by default for AArch64 at -O0 - improved scheduling on several x86 micro-architectures - Clang defaults to -std=gnu++14 instead of -std=gnu++98 - support for some upcoming C++2a features - improved optimizations, new compiler warnings, many bug fixes, and more. - Use alternatives for clang's bash autocomplete to prevent conflicts with other versions.- Remove liblldb5 and lldb5-devel from baselibs.conf. They are only build for x86_64, so no point having them in baselibs.conf.- Use %optflags, except for FORTIFY_SOURCE which is not compatible with compiler-rt. - Exclude static libraries differently. * Drop llvm-split-static-library-exports-into-their-own-export-file.diff * Drop clang-split-static-library-exports-into-their-own-export-file.diff * Update llvm-do-not-install-static-libraries.patch to not use EXCLUDE_FROM_ALL which is not available in cmake 3.5. - This fixes build on SLE12. - Do not force gcc6 on OpenSUSE - fixes build. - Reduce the amount of concurent link jobs by increasing their memory requirement - to reduce stalls in OBS.- Cleanup %ifarch conditions, remove targets unintentionally added to s390/s390x. (bnc#1078436)- Limit the amount of parallel link jobs, but no longer limit compile jobs. This should prevent running out of memory during linking while not longer slowing down compilation. - Remove build dependency on procps- Reduce disk size requirement to 30GB in _constraints. We no longer need that much since we stopped building static libraries.- n_clang_allow_BUILD_SHARED_LIBRARY.patch * Allow buildling clang with BUILD_SHARED_LIBRARY while the rest is built with LLVM_LINK_LLVM_DYLIB. (bnc#1065464) - Remove clang-devel-static.- Place gold plugin to the right directory. (bnc#1073210) * It must be in /usr/lib/bfd-plugins on all architectures. * Remove llvm5-gold from baselibs.conf - nothing needs a 32bit version of it and it would now conflict with the 64bit one. - Reduce _constraints requirements on 32bit architectures. * Since we had to disable debuginfo on them, they require much less.- ignore make check error for PowerPC as bypass https://bugs.llvm.org/show_bug.cgi?id=35871- disable debuginfo build for ARM as well- Delete intermediate files during build to reduce total disk usage (bnc#1074625)- Update to llvm 5.0.1 * This release contains bug-fixes for the LLVM 5.0.0 release. * This release is API and ABI compatible with 5.0.0. - llvm-do-not-install-static-libraries.patch * Updated.- Increase minimum memory and disk sizes required for building in _constraints.- Rename python3-lldb to python3-lldb5 so it can work with llvm meta package.- Rename python packages to follow naming conventions. - Remove unnecessary dependencies on python3. - Make opt-viewer not require python2. * opt-viewer-Do-not-require-python-2.patch- Switch to python3. - Fix %check tests when used with python3. * Define LANG=C.UTF-8 when running the tests. - Add explicit Provides/Conflicts to llvm5-devel, clang5-devel-static and lldb5-devel. * These are required to be validated by obs repo-checker.- Use LLVM_OPTIMIZED_TABLEGEN to speed up build. (bnc#1064786) - Fix files of lldb4 to work correctly with update-alternatives. - Remove Conflicts clang(LLDB) from lldb4-devel - it does not exist. It would be provided automatically, but no such cmake file is installed. - llvm-do-not-install-static-libraries.patch * Do not install static libraries instead of installing them and deleting after. * Reduces disk usage during build. (bnc#1064786) - Do not build unnecessary parts during stage1. * Speeds up build a bit. (bnc#1064786)- Updated baselibs.conf to reference version 5 packages. - Deleted rogue llvm5.spec.r29 file. - Deleted arm_suse_support.diff, llvm-add_a_LLVM_USE_LINKER.patch, libsanitizer.patch. - No longer used, applied already in the source.- llvm-normally-versioned-libllvm.patch * Change libLLVM naming scheme to match our naming guidelines. * The reasons for the original naming scheme are no longer valid, more details in the patch.- Disable all thread related tests in libcxx. Many of them use timeouts to detect failure. They can fail randomly if the machine is under heavy load (happens often in OBS).- Drop llvm5-devel-static. llvm5-devel contains shared library with the same content.- Increase disk space requirement in _constraints to 45GB. Otherwise the build gets stuck in random places. - Skip build of lldb5 python on distributions with swig < 3.0.11- Copy from llvm4. - Update to llvm 5.0.0.- Use LLVM_BUILD_LLVM_DYLIB instead of BUILD_SHARED_LIBS to build single libLLVM library. This is the recommended way. The old way was causing various issues. * llvm-split-static-library-exports-into-their-own-export-file.diff * clang-split-static-library-exports-into-their-own-export-file.diff (bnc#1049703) - Add lld, linker for Clang/LLVM (sr#517692) - Include clang++-MAJOR.MINOR symbolic link (bnc#1012260) - Remove unnecessary dependency on flex and bison. - Make sure all binaries are managed by update-alternatives - Add llvm-add_a_LLVM_USE_LINKER.patch and link using gold to prevent memory exhaustion on some build machines. - Reduce debuginfo on x86 architecture. LLVM libraries are so big that they exhaust all memory on 32 bit machine if linked with full debuginfo. - Speed up build by skipping parts that are not required in stage1. - Build lldb in-tree as one of the llvm tools.- clang-ignore-stack-clash-protector.patch: ignore -fstack-clash-protection for now.- xlocale.patch: don't use obsolete - libsanitizer.patch: fix use of undocumented types- build fixes for armv6 (skip testsuite as it requires 64bit, set the list of targets to include ARM and remove triplet hack)- Include provides and conflics in baselibs.conf for llvm4-devel, clang4-devel, llvm4-LTO-devel, and llvm4-gold.- Update to version 4.0.1 * Minor bugfixes- Use gcc6 only for SLE boo#1041469- Package libLLVMFuzzer- readd arm_suse_support.diff which was accidentally removed in the 4.0.0 update- Enable AMDGPU and NVPTX targets everywhere except for S/390. The AMDGPU target is needed for Mesa Clover (sr#485802).- Use gcc6 on SLE12- Package license & credits- Update to version 4.0.0 * See + http://releases.llvm.org/4.0.0/docs/ReleaseNotes.html and + http://releases.llvm.org/4.0.0/tools/clang/docs/ReleaseNotes.html + http://releases.llvm.org/4.0.0/tools/clang/tools/extra/docs/ReleaseNotes.html - Drop the following patches, fixed upstream: amdgpu_revert_r280589.patch arm_suse_support.diff clang-fix-substitutions-abi_tag.patch clang-incomplete-field-types.patch glibc-2.24-libcxx.patch llvm-install-CheckAtomic.patch revert-cmake-soname.patch- Enable BPF for all arches bsc#1026191- libc++ must depend on libc++abi- Stop using otherproviders() due to an rpm parser bug, use self-conflicts instead as suggested by mls.- Add amdgpu_revert_r280589.patch to fix an amdgpu regression bsc#1021577- Require LLVMgold and libLTO in llvm-devel, otherwise we get in CMake: The imported target "LLVMgold" references the file "/usr/lib64/LLVMgold.so" but this file does not exist. This happens when requiring llvm3_9-devel directly, not llvm-devel.- Update to version 3.9.1 * See: + http://llvm.org/releases/3.9.1/docs/ReleaseNotes.html + http://llvm.org/releases/3.9.1/tools/clang/docs/ReleaseNotes.html + http://llvm.org/releases/3.9.1/tools/clang/tools/extra/docs/ReleaseNotes.html- Update to version 3.9.0 * Clang now supports the G++ abi_tag attribute. * Clang will no longer pass --build-id by default to the linker. * Improved C++1z support in Clang. * Clang now has support for all OpenCL 2.0 features. * Added support for all non-offloading features from OpenMP 4.5, * The static analyzer now checks for incorrect usage of MPI APIs in C and C++. * LLVM no longer does inter-procedural analysis and optimization (except inlining) on functions with comdat linkage. * LLVM now supports the Intel CPUs Skylake Server with AVX512 (-march=skylake-avx512) and Knights Landing (-march=knl). * More at: + http://llvm.org/releases/3.9.0/docs/ReleaseNotes.html + http://llvm.org/releases/3.9.0/tools/clang/docs/ReleaseNotes.html + http://llvm.org/releases/3.9.0/tools/clang/tools/extra/docs/ReleaseNotes.html * Fix the following patches: + arm_suse_support.diff + assume-opensuse.patch + clang-resourcedirs.patch + default-to-i586.patch + glibc-2.23-libcxx.patch + glibc-2.24-libcxx.patch + lldb-add-pthread-dl-libs.patch + lldb-cmake.patch + llvm-fix-find-gcc5-install.patch + llvm-remove-clang-only-flags.patch + revert-cmake-soname.patch + set-revision.patch * Remove upstream-included patch: + llvm-nonvoid-return.patch * Remove patch for removed files: + glibc-2.23-libcxx.patch - Backport upstream patches: * clang-fix-substitutions-abi_tag.patch * clang-incomplete-field-types.patch * llvm-install-CheckAtomic.patch - Add clang%{_sonum}-include-fixer subpackage and associated libfindAllSymbols%{_sonum} and libfindAllSymbols%{_sonum}-devel subpackages. - Add sanstats to llvm binary list.- Change update-alternatives to use %postun instead of %preun, which is now what Factory maintainers are requesting. - Use the minor version to set the update-alternatives priority so the most recent version of the LLVM, Clang, and LLDB are used by default. - Add LLVM rpm macros so downstream packages can have some idea how LLVM was built.- Rename libomp to make it possible to have multiple versions available.- Split the old llvm package into this version-specific package and a wrapper package. - Implement update-alternatives to allow parallel installation of many of the subpackages. - Rename subpackages that can be parallel-installed to a version-specific name based on the associated shared library's current .so number. - Various fixes to support the above changes.- Sort a bit with spec-cleaner - Remove the latest switch for now, things should be either coinstallable or not, we don't need to bother around with compilation like this- Update to llvm 3.8.1 * See http://llvm.org/releases/3.8.1/docs/ReleaseNotes.html and http://llvm.org/releases/3.8.1/tools/docs/ReleaseNotes.html - Use versioned libLLVM (to libLLVM3_8) and libclang (to libclang3_8) - Change versioning of liblldb3_8 to liblldb-3_8 and use a variable to control the name instead of hard-coding it. - Use bcond_with and bcond_without to enable/disable build options instead of hard-coding them. - Put buildrequires as requires in -devel packages to avoid linker errors when building packages against the -devel packages. - Add ffi support (disabled by default). - Add oprofile support (disabled by default). - Add valgrind support (disabled by default). - Link cmake files to the normal cmake file directory to allow autodetection of cmake interfaces. - Remove unused lldb components from main spec file. - Split llvm python bindings into own subpackage. - Split emacs plugin into own subpackage - Move additional vim plugins into vim plugins package - Split libc++, libLTO, LLVMgold, libomp, clang-chekers into own subpackages - Make python-clang, llvm-vim-plugins, and llvm-emacs-plugins noarch since they aren't architecture-specific. - Make packages besides llvm, llvm-clang, and the shared libraries conflict with other versions. This will be important when multiple LLVM versions are supported. - Various spec file cleanups - Rebase patches: * arm_suse_support.diff * assume-opensuse.patch * clang-resourcedirs.patch * default-to-i586.patch * glibc-2.23-libcxx.patch * glibc-2.24-libcxx.patch * lldb-add-pthread-dl-libs.patch * lldb-cmake.patch * llvm-fix-find-gcc5-install.patch * llvm-nonvoid-return.patch * llvm-remove-clang-only-flags.patch * revert-cmake-soname.patch * set-revision.patch- Start conversion to use cmake macros with now introduced compatibility for ninja - Reduce number of threads if we don't have enough memory - Add patch for the nonvoid returns: * llvm-nonvoid-return.patch- for ppc64le set memory to 4GB in _constraints file (failure in Factory:PowerPC)- glibc-2.24-libcxx.patch: fix libcxx testsuite for glibc 2.24- Build LLDB separated from LLVM. - Re-enable python bindings for the LLDB API.- Disable libcxx/lldb/openmp for SLE fate#319582- Update rpmlintrc to whitelist libLTO.so- Re-enable glibc-2.23 patch for Tumbleweed- fix arm_suse_support.diff for armv6hl - adjust compile flags for llvm on armv6hl (fixes Mesa build)- Update llvm-remove-clang-only-flags.patch to remove - Wcovered-switch-default flag for gcc compatibility.- Use gcc for stage1 bootstrap - Add back libstdc++-devel dependency for clang since libc++ is only available for x86-64 atm.- Comment out glibc-2.23-libcxx.patch until glibc 2.23 actually hits the Factory.- Update to llvm 3.8.0 * See http://llvm.org/releases/3.8.0/docs/ReleaseNotes.html and http://llvm.org/releases/3.8.0/tools/clang/docs/ReleaseNotes.html - Fold lldb build into llvm and disable python support - Drop clang-disable-ada-extension.patch, libcxxabi-exceptions.patch and cmake-host-triple.patch - Add revert-cmake-soname.patch to fix soname handling- Add glibc-2.23-libcxx.patch to fix test failures with glibc 2.23- Remove FFI support because its fragile- Enable OpenMP for x86, x86_64, ppc64 and ppc64le- Enable all targets on x86, x86_64- Update to version 3.7.0 * See http://llvm.org/releases/3.7.0/docs/ReleaseNotes.html - Merge aarch64-suse-support.patch into arm_suse_support.diff - Refresh arm_suse_support.diff, llvm-fix-find-gcc5-install.patch - Remove llvm-fix-parsearmarch.patch, upstream.- fix build on s390x (one typo in ifarch and one change in filelist)- Update to version 3.6.1 * No changelog upstream- Add llvm-fix-parsearmarch.patch to fix parsing armv{6,7}hl archs.- Update to version 3.6.0 * See http://llvm.org/releases/3.6.0/docs/ReleaseNotes.html - Add python-xml dependency for regression tests - Removed the following patches, fixed upstream: * arm-remove-xfails.diff * libcxx-libdir.patch * llvm-config-lib64.patch * llvm-fix-intrusiverefcntptr.patch- Add llvm-fix-intrusiverefcntptr.patch to fix build of LLVM tools with GCC 5. - Add llvm-fix-find-gcc5-install.patch to properly find installed GCC 5.- Add a gcc dependency for clang, this is heavyweight but we need libgcc_s which comes with the gcc package (bnc#893359)- Conditionalize libcxx{abi} build on build_libcxx variable - Turn libc++.so into an ldscript so it links to libc++abi automatically.- fix constraints for armv6l/armv7l (there is no 4GB RAM on 32bit)/sbin/ldconfig/sbin/ldconfiglamb70 1608127014  !"#$%&'()*+,-./0123456789:;<=>?@ABCDEFGHIJKLMNOPQRSTUVWXYZ[\]^_`abcdefghijklmnopqrstuvwxyz{|}~      !"#$%&'()*+,-./0123456789:;<=>?@ABCDEFGHIJKLMNOPQRSTUVWXYZ[\]^_`abcdefghijklmnopqrstuvwxyz{|}~      !"#$%&'()*+,-./0123456789:;<=>?@ABCDEFGHIJKLMNOPQRSTUVWXYZ[\]^_`abcdefghijklmnopqrstuvwxyz{|}~      !"#$%&'()*+7.0.1-lp151.2.15.17.0.1-lp151.2.15.1      !!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!""""#$$######%%%#####&&###'''('''''''''''''))))))#####*+++,-,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,./00000000000001110000000000000000000000000000000000000000000000022033333333333344433333333333333333333333333333333333333333333330555555555555555555555555500000677clangclang-cBuildSystem.hCXCompilationDatabase.hCXErrorCode.hCXString.hDocumentation.hIndex.hPlatform.hARCMigrateARCMT.hARCMTActions.hFileRemapper.hASTAPValue.hAST.hASTConsumer.hASTContext.hASTDiagnostic.hASTFwd.hASTImporter.hASTLambda.hASTMutationListener.hASTStructuralEquivalence.hASTTypeTraits.hASTUnresolvedSet.hASTVector.hAttr.hAttrDump.incAttrImpl.incAttrIterator.hAttrVisitor.incAttrs.incAvailability.hBaseSubobject.hBuiltinTypes.defCXXInheritance.hCanonicalType.hCharUnits.hComment.hCommentBriefParser.hCommentCommandInfo.incCommentCommandList.incCommentCommandTraits.hCommentDiagnostic.hCommentHTMLNamedCharacterReferences.incCommentHTMLTags.incCommentHTMLTagsProperties.incCommentLexer.hCommentNodes.incCommentParser.hCommentSema.hCommentVisitor.hComparisonCategories.hDataCollection.hDecl.hDeclAccessPair.hDeclBase.hDeclCXX.hDeclContextInternals.hDeclFriend.hDeclGroup.hDeclLookups.hDeclNodes.incDeclObjC.hDeclOpenMP.hDeclTemplate.hDeclVisitor.hDeclarationName.hDependentDiagnostic.hEvaluatedExprVisitor.hExpr.hExprCXX.hExprObjC.hExprOpenMP.hExternalASTMerger.hExternalASTSource.hGlobalDecl.hLambdaCapture.hLexicallyOrderedRecursiveASTVisitor.hLocInfoType.hMangle.hMangleNumberingContext.hNSAPI.hNestedNameSpecifier.hNonTrivialTypeVisitor.hODRHash.hOpenMPClause.hOperationKinds.defOperationKinds.hParentMap.hPrettyDeclStackTrace.hPrettyPrinter.hQualTypeNames.hRawCommentList.hRecordLayout.hRecursiveASTVisitor.hRedeclarable.hSelectorLocationsKind.hStmt.hStmtCXX.hStmtDataCollectors.incStmtGraphTraits.hStmtIterator.hStmtNodes.incStmtObjC.hStmtOpenMP.hStmtVisitor.hTemplateBase.hTemplateName.hType.hTypeLoc.hTypeLocNodes.defTypeLocVisitor.hTypeNodes.defTypeOrdering.hTypeVisitor.hUnresolvedSet.hVTTBuilder.hVTableBuilder.hASTMatchersASTMatchFinder.hASTMatchers.hASTMatchersInternal.hASTMatchersMacros.hDynamicDiagnostics.hParser.hRegistry.hVariantValue.hAnalysisAnalysesCFGReachabilityAnalysis.hConsumed.hDominators.hFormatString.hLiveVariables.hOSLog.hPostOrderCFGView.hPseudoConstantAnalysis.hReachableCode.hThreadSafety.hThreadSafetyCommon.hThreadSafetyLogical.hThreadSafetyOps.defThreadSafetyTIL.hThreadSafetyTraverse.hThreadSafetyUtil.hUninitializedValues.hAnalysisDeclContext.hAnalysisDiagnostic.hBodyFarm.hCFG.hCFGStmtMap.hCallGraph.hCloneDetection.hCodeInjector.hConstructionContext.hDomainSpecificCocoaConventions.hObjCNoReturn.hFlowSensitiveDataflowValues.hProgramPoint.hSupportBumpVector.hBasicABI.hAddressSpaces.hAlignedAllocation.hAllDiagnostics.hAttrHasAttributeImpl.incAttrKinds.hAttrList.incAttrSubMatchRulesList.incAttrSubjectMatchRules.hAttributes.hBitmaskEnum.hBuiltins.defBuiltins.hBuiltinsAArch64.defBuiltinsAMDGPU.defBuiltinsARM.defBuiltinsHexagon.defBuiltinsLe64.defBuiltinsMips.defBuiltinsNEON.defBuiltinsNVPTX.defBuiltinsNios2.defBuiltinsPPC.defBuiltinsSystemZ.defBuiltinsWebAssembly.defBuiltinsX86.defBuiltinsX86_64.defBuiltinsXCore.defCapturedStmt.hCharInfo.hCommentOptions.hCuda.hDebugInfoOptions.hDiagnostic.hDiagnosticASTKinds.incDiagnosticAnalysisKinds.incDiagnosticCategories.hDiagnosticCommentKinds.incDiagnosticCommonKinds.incDiagnosticCrossTUKinds.incDiagnosticDriverKinds.incDiagnosticError.hDiagnosticFrontendKinds.incDiagnosticGroups.incDiagnosticIDs.hDiagnosticIndexName.incDiagnosticLexKinds.incDiagnosticOptions.defDiagnosticOptions.hDiagnosticParseKinds.incDiagnosticRefactoringKinds.incDiagnosticSemaKinds.incDiagnosticSerializationKinds.incExceptionSpecificationType.hExpressionTraits.hFeatures.defFileManager.hFileSystemOptions.hFileSystemStatCache.hIdentifierTable.hLLVM.hLambda.hLangOptions.defLangOptions.hLinkage.hMacroBuilder.hMemoryBufferCache.hModule.hObjCRuntime.hOpenCLExtensions.defOpenCLImageTypes.defOpenCLOptions.hOpenMPKinds.defOpenMPKinds.hOperatorKinds.defOperatorKinds.hOperatorPrecedence.hPartialDiagnostic.hPlistSupport.hPragmaKinds.hPrettyStackTrace.hSanitizerBlacklist.hSanitizerSpecialCaseList.hSanitizers.defSanitizers.hSourceLocation.hSourceManager.hSourceManagerInternals.hSpecifiers.hStack.hSyncScope.hTargetBuiltins.hTargetCXXABI.hTargetInfo.hTargetOptions.hTemplateKinds.hTokenKinds.defTokenKinds.hTypeTraits.hVersion.hVersion.incVirtualFileSystem.hVisibility.hX86Target.defXRayInstr.hXRayLists.harm_fp16.incarm_neon.incCodeGenBackendUtil.hCGFunctionInfo.hCodeGenABITypes.hCodeGenAction.hConstantInitBuilder.hConstantInitFuture.hModuleBuilder.hObjectFilePCHContainerOperations.hSwiftCallingConv.hConfigconfig.hCrossTUCrossTUDiagnostic.hCrossTranslationUnit.hDriverAction.hCompilation.hDistro.hDriver.hDriverDiagnostic.hJob.hMultilib.hOptions.hOptions.incPhases.hSanitizerArgs.hTool.hToolChain.hTypes.defTypes.hUtil.hXRayArgs.hEditCommit.hEditedSource.hEditsReceiver.hFileOffset.hRewriters.hFormatFormat.hFrontendASTConsumers.hASTUnit.hChainedDiagnosticConsumer.hCodeGenOptions.defCodeGenOptions.hCommandLineSourceLoc.hCompilerInstance.hCompilerInvocation.hDependencyOutputOptions.hDiagnosticRenderer.hFrontendAction.hFrontendActions.hFrontendDiagnostic.hFrontendOptions.hFrontendPluginRegistry.hLangStandard.hLangStandards.defLayoutOverrideSource.hLogDiagnosticPrinter.hMigratorOptions.hMultiplexConsumer.hPCHContainerOperations.hPrecompiledPreamble.hPreprocessorOutputOptions.hSerializedDiagnosticPrinter.hSerializedDiagnosticReader.hSerializedDiagnostics.hTextDiagnostic.hTextDiagnosticBuffer.hTextDiagnosticPrinter.hUtils.hVerifyDiagnosticConsumer.hFrontendToolUtils.hIndexCodegenNameGenerator.hCommentToXML.hIndexDataConsumer.hIndexSymbol.hIndexingAction.hUSRGeneration.hLexCodeCompletionHandler.hDirectoryLookup.hExternalPreprocessorSource.hHeaderMap.hHeaderMapTypes.hHeaderSearch.hHeaderSearchOptions.hLexDiagnostic.hLexer.hLiteralSupport.hMacroArgs.hMacroInfo.hModuleLoader.hModuleMap.hMultipleIncludeOpt.hPPCallbacks.hPPConditionalDirectiveRecord.hPTHLexer.hPTHManager.hPragma.hPreprocessingRecord.hPreprocessor.hPreprocessorLexer.hPreprocessorOptions.hScratchBuffer.hToken.hTokenConcatenation.hTokenLexer.hVariadicMacroSupport.hParseAttrParserStringSwitches.incAttrSubMatchRulesParserStringSwitches.incParseAST.hParseDiagnostic.hParser.hRAIIObjectsForParser.hRewriteCoreDeltaTree.hHTMLRewrite.hRewriteBuffer.hRewriteRope.hRewriter.hTokenRewriter.hFrontendASTConsumers.hFixItRewriter.hFrontendActions.hRewriters.hSemaAnalysisBasedWarnings.hAttrParsedAttrImpl.incAttrParsedAttrKinds.incAttrParsedAttrList.incAttrSpellingListIndex.incAttrTemplateInstantiate.incCXXFieldCollector.hCleanupInfo.hCodeCompleteConsumer.hCodeCompleteOptions.hDeclSpec.hDelayedDiagnostic.hDesignator.hExternalSemaSource.hIdentifierResolver.hInitialization.hLookup.hLoopHint.hMultiplexExternalSemaSource.hObjCMethodList.hOverload.hOwnership.hParsedAttr.hParsedTemplate.hScope.hScopeInfo.hSema.hSemaConsumer.hSemaDiagnostic.hSemaFixItUtils.hSemaInternal.hSemaLambda.hTemplate.hTemplateDeduction.hTemplateInstCallback.hTypoCorrection.hWeak.hSerializationASTBitCodes.hASTDeserializationListener.hASTReader.hASTWriter.hAttrPCHRead.incAttrPCHWrite.incContinuousRangeMap.hGlobalModuleIndex.hModule.hModuleFileExtension.hModuleManager.hSerializationDiagnostic.hStaticAnalyzerCheckersCheckers.incClangCheckers.hLocalCheckers.hMPIFunctionClassifier.hObjCRetainCount.hSValExplainer.hCoreAnalyses.defAnalyzerOptions.hBugReporterBugReporter.hBugReporterVisitors.hBugType.hCommonBugCategories.hPathDiagnostic.hChecker.hCheckerManager.hCheckerOptInfo.hCheckerRegistry.hIssueHash.hPathDiagnosticConsumers.hPathSensitiveAPSIntType.hAnalysisManager.hBasicValueFactory.hBlockCounter.hCallEvent.hCheckerContext.hCheckerHelpers.hConstraintManager.hCoreEngine.hDynamicTypeInfo.hDynamicTypeMap.hEnvironment.hExplodedGraph.hExprEngine.hFunctionSummary.hLoopUnrolling.hLoopWidening.hMemRegion.hProgramState.hProgramStateTrait.hProgramState_Fwd.hRangedConstraintManager.hRegions.defSMTConstraintManager.hSMTContext.hSMTExpr.hSMTSolver.hSMTSort.hSValBuilder.hSValVisitor.hSVals.defSVals.hSimpleConstraintManager.hStore.hStoreRef.hSubEngine.hSummaryManager.hSymExpr.hSymbolManager.hSymbols.defTaintManager.hTaintTag.hWorkList.hFrontendAnalysisConsumer.hCheckerRegistration.hFrontendActions.hModelConsumer.hToolingASTDiffASTDiff.hASTDiffInternal.hAllTUsExecution.hArgumentsAdjusters.hCommonOptionsParser.hCompilationDatabase.hCompilationDatabasePluginRegistry.hCoreDiagnostic.hLookup.hReplacement.hDiagnosticsYaml.hExecution.hFileMatchTrie.hFixIt.hInclusionsHeaderIncludes.hIncludeStyle.hJSONCompilationDatabase.hRefactoringRefactoring.hASTSelection.hAtomicChange.hExtractExtract.hRecursiveSymbolVisitor.hRefactoringAction.hRefactoringActionRule.hRefactoringActionRuleRequirements.hRefactoringActionRules.hRefactoringActionRulesInternal.hRefactoringDiagnostic.hRefactoringOption.hRefactoringOptionVisitor.hRefactoringOptions.hRefactoringResultConsumer.hRefactoringRuleContext.hRenameRenamingAction.hSymbolName.hSymbolOccurrences.hUSRFinder.hUSRFindingAction.hUSRLocFinder.hRefactoringCallbacks.hReplacementsYaml.hStandaloneExecution.hToolExecutorPluginRegistry.hTooling.hclangClangConfig.cmakeClangTargets-relwithdebinfo.cmakeClangTargets.cmakelibclang.solibclangARCMigrate.solibclangAST.solibclangASTMatchers.solibclangAnalysis.solibclangApplyReplacements.solibclangBasic.solibclangChangeNamespace.solibclangCodeGen.solibclangCrossTU.solibclangDaemon.solibclangDoc.solibclangDriver.solibclangDynamicASTMatchers.solibclangEdit.solibclangFormat.solibclangFrontend.solibclangFrontendTool.solibclangHandleCXX.solibclangHandleLLVM.solibclangIncludeFixer.solibclangIncludeFixerPlugin.solibclangIndex.solibclangLex.solibclangMove.solibclangParse.solibclangQuery.solibclangReorderFields.solibclangRewrite.solibclangRewriteFrontend.solibclangSema.solibclangSerialization.solibclangStaticAnalyzerCheckers.solibclangStaticAnalyzerCore.solibclangStaticAnalyzerFrontend.solibclangTidy.solibclangTidyAbseilModule.solibclangTidyAndroidModule.solibclangTidyBoostModule.solibclangTidyBugproneModule.solibclangTidyCERTModule.solibclangTidyCppCoreGuidelinesModule.solibclangTidyFuchsiaModule.solibclangTidyGoogleModule.solibclangTidyHICPPModule.solibclangTidyLLVMModule.solibclangTidyMPIModule.solibclangTidyMiscModule.solibclangTidyModernizeModule.solibclangTidyObjCModule.solibclangTidyPerformanceModule.solibclangTidyPlugin.solibclangTidyPortabilityModule.solibclangTidyReadabilityModule.solibclangTidyUtils.solibclangTidyZirconModule.solibclangTooling.solibclangToolingASTDiff.solibclangToolingCore.solibclangToolingInclusions.solibclangToolingRefactor.solibfindAllSymbols.sollvm-clanghtmlAddressSanitizer.htmlAttributeReference.htmlAutomaticReferenceCounting.htmlBlock-ABI-Apple.htmlBlock-ABI-Apple.txtBlockLanguageSpec.htmlClangCheck.htmlClangCommandLineReference.htmlClangFormat.htmlClangFormatStyleOptions.htmlClangPlugins.htmlClangTools.htmlCommandGuideclang.htmldiagtool.htmlindex.htmlControlFlowIntegrity.htmlControlFlowIntegrityDesign.htmlCrossCompilation.htmlDataFlowSanitizer.htmlDataFlowSanitizerDesign.htmlDiagnosticsReference.htmlDriverInternals.htmlExternalClangExamples.htmlFAQ.htmlHardwareAssistedAddressSanitizerDesign.htmlHowToSetupToolingForLLVM.htmlInternalsManual.htmlIntroductionToTheClangAST.htmlItaniumMangleAbiTags.htmlJSONCompilationDatabase.htmlLTOVisibility.htmlLanguageExtensions.htmlLeakSanitizer.htmlLibASTMatchers.htmlLibASTMatchersReference.htmlLibASTMatchersTutorial.htmlLibFormat.htmlLibTooling.htmlMSVCCompatibility.htmlMemorySanitizer.htmlModules.htmlObjectiveCLiterals.htmlOpenMPSupport.htmlPCHInternals.htmlPTHInternals.htmlRAVFrontendAction.htmlRefactoringEngine.htmlReleaseNotes.htmlSafeStack.htmlSanitizerCoverage.htmlSanitizerSpecialCaseList.htmlSanitizerStats.htmlShadowCallStack.htmlSourceBasedCodeCoverage.htmlThinLTO.htmlThreadSafetyAnalysis.htmlThreadSanitizer.htmlToolchain.htmlTooling.htmlUndefinedBehaviorSanitizer.htmlUsersManual.html_imagesDriverArchitecture.pngPCHLayout.png_sourcesAddressSanitizer.rst.txtAttributeReference.rst.txtAutomaticReferenceCounting.rst.txtBlock-ABI-Apple.rst.txtBlockLanguageSpec.rst.txtClangCheck.rst.txtClangCommandLineReference.rst.txtClangFormat.rst.txtClangFormatStyleOptions.rst.txtClangPlugins.rst.txtClangTools.rst.txtCommandGuideclang.rst.txtdiagtool.rst.txtindex.rst.txtControlFlowIntegrity.rst.txtControlFlowIntegrityDesign.rst.txtCrossCompilation.rst.txtDataFlowSanitizer.rst.txtDataFlowSanitizerDesign.rst.txtDiagnosticsReference.rst.txtDriverInternals.rst.txtExternalClangExamples.rst.txtFAQ.rst.txtHardwareAssistedAddressSanitizerDesign.rst.txtHowToSetupToolingForLLVM.rst.txtInternalsManual.rst.txtIntroductionToTheClangAST.rst.txtItaniumMangleAbiTags.rst.txtJSONCompilationDatabase.rst.txtLTOVisibility.rst.txtLanguageExtensions.rst.txtLeakSanitizer.rst.txtLibASTMatchers.rst.txtLibASTMatchersTutorial.rst.txtLibFormat.rst.txtLibTooling.rst.txtMSVCCompatibility.rst.txtMemorySanitizer.rst.txtModules.rst.txtObjectiveCLiterals.rst.txtOpenMPSupport.rst.txtPCHInternals.rst.txtPTHInternals.rst.txtRAVFrontendAction.rst.txtRefactoringEngine.rst.txtReleaseNotes.rst.txtSafeStack.rst.txtSanitizerCoverage.rst.txtSanitizerSpecialCaseList.rst.txtSanitizerStats.rst.txtShadowCallStack.rst.txtSourceBasedCodeCoverage.rst.txtThinLTO.rst.txtThreadSafetyAnalysis.rst.txtThreadSanitizer.rst.txtToolchain.rst.txtTooling.rst.txtUndefinedBehaviorSanitizer.rst.txtUsersManual.rst.txtindex.rst.txt_staticajax-loader.gifalert_info_32.pngalert_warning_32.pngbasic.cssbg-page.pngbullet_orange.pngcomment-bright.pngcomment-close.pngcomment.pngdoctools.jsdown-pressed.pngdown.pngfile.pnghaiku.cssjquery-3.1.0.jsjquery.jsminus.pngplus.pngpygments.csssearchtools.jsunderscore-1.3.1.jsunderscore.jsup-pressed.pngup.pngwebsupport.jsgenindex.htmlindex.htmlobjects.invsearch.htmlsearchindex.jsclang7-develCREDITS.TXTLICENSE.TXT/usr/include//usr/include/clang-c//usr/include/clang//usr/include/clang/ARCMigrate//usr/include/clang/AST//usr/include/clang/ASTMatchers//usr/include/clang/ASTMatchers/Dynamic//usr/include/clang/Analysis//usr/include/clang/Analysis/Analyses//usr/include/clang/Analysis/DomainSpecific//usr/include/clang/Analysis/FlowSensitive//usr/include/clang/Analysis/Support//usr/include/clang/Basic//usr/include/clang/CodeGen//usr/include/clang/Config//usr/include/clang/CrossTU//usr/include/clang/Driver//usr/include/clang/Edit//usr/include/clang/Format//usr/include/clang/Frontend//usr/include/clang/FrontendTool//usr/include/clang/Index//usr/include/clang/Lex//usr/include/clang/Parse//usr/include/clang/Rewrite//usr/include/clang/Rewrite/Core//usr/include/clang/Rewrite/Frontend//usr/include/clang/Sema//usr/include/clang/Serialization//usr/include/clang/StaticAnalyzer//usr/include/clang/StaticAnalyzer/Checkers//usr/include/clang/StaticAnalyzer/Core//usr/include/clang/StaticAnalyzer/Core/BugReporter//usr/include/clang/StaticAnalyzer/Core/PathSensitive//usr/include/clang/StaticAnalyzer/Frontend//usr/include/clang/Tooling//usr/include/clang/Tooling/ASTDiff//usr/include/clang/Tooling/Core//usr/include/clang/Tooling/Inclusions//usr/include/clang/Tooling/Refactoring//usr/include/clang/Tooling/Refactoring/Extract//usr/include/clang/Tooling/Refactoring/Rename//usr/lib/cmake//usr/lib/cmake/clang//usr/lib//usr/lib//usr/share/doc/packages//usr/share/doc/packages/llvm-clang//usr/share/doc/packages/llvm-clang/html//usr/share/doc/packages/llvm-clang/html/CommandGuide//usr/share/doc/packages/llvm-clang/html/_images//usr/share/doc/packages/llvm-clang/html/_sources//usr/share/doc/packages/llvm-clang/html/_sources/CommandGuide//usr/share/doc/packages/llvm-clang/html/_static//usr/share/licenses//usr/share/licenses/clang7-devel/-fomit-frame-pointer -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.opensuse.org/openSUSE:Maintenance:15340/openSUSE_Leap_15.1_Update/4ee3ef5db0cdce71453408be6e4147f3-llvm7.openSUSE_Leap_15.1_Updatedrpmxz5i586-suse-linux                   directoryC source, ASCII textC++ source, ASCII textASCII textASCII text, with very long linesC++ source, ASCII text, with very long linesC source, ASCII text, with very long linesHTML document, UTF-8 Unicode text, with very long linesHTML document, UTF-8 Unicode textC source, UTF-8 Unicode text, with very long linesPNG image data, 554 x 705, 8-bit/color RGBA, non-interlacedPNG image data, 172 x 333, 8-bit/color RGB, non-interlacedHTML document, ASCII textUTF-8 Unicode textC++ source, UTF-8 Unicode textHTML document, ASCII text, with very long linesGIF image data, version 89a, 16 x 16PNG image data, 32 x 32, 8-bit/color RGBA, non-interlacedPNG image data, 12 x 104, 8-bit grayscale, non-interlacedPNG image data, 6 x 6, 8-bit/color RGB, non-interlacedPNG image data, 16 x 16, 8-bit/color RGBA, non-interlacedPNG image data, 16 x 16, 8-bit gray+alpha, non-interlacedPNG image data, 11 x 11, 8-bit grayscale, non-interlacedASCII text, with very long lines, with no line terminatorsP![P πutf-839642eea384ee07812860a331ffdc67969227869b40d99150b3e3e113184345f?7zXZ !t/*;]"k%.KcSA˯!+q"v6 *@)^||)+εݷ)/fl,T97@H w=jv{JMڕKzZe-[Q۽eyUMQ&=/٘q8kyZ$gt$xx_y-qBgmC;G;Rm`H%J\#Eq ,|kp脦1 Tb90Do]@o13}4fXv _Du[tCFFȯK-}g(ۜغ:'o7"k 8~mw<5Uu2\dpY[JWxHAh{!L7ɽֿ{jmb6~`G?]}޺nR ]wOz>N%x; ݉77[@Jk uYw1nu~Tk{7̫u/;Iq4 TMhTN&ķ)(/LD!<!C9 # ؁ikIUw&]ˬ-\~@ߔ>4Skx7oknq=r䖕5[7K0X?K!kK} ٻ9ݛ6pBx Smsy#$m.p&RRjц.p%Fσzvv2 NH"S#kcvP'apbk$g2oh>%o }7/-Ia~la9|q PP^ |T.' vvY|l#ձ;`h!jU)cL?[MSvbb!Aߙa#4m<`v]]˾n:8Kj8R"N!]8&ju M?}%cqB2R(rɓ)~د?-]G:wRNTT+[Y1:LW3s*9} qq 2q-12T?8i=| CPSRdf(Lu4ZR\t/nRkqIc^O[' 䈠Gٹ0E7\@.cIV)ߩ pAچa(}̷_O;- z Wگ=qh~BkFӉr-@w:-}auw%;lHaU3ncȧZ# jRhzAy,ѹ淍:3R.1|٫TXf1*F,Wnb_0C؄"L('*xmPU*2Z;鏋Sl˼$Ghw՚dOz tQ^/Y vwZgo k \!Ha;*Y^KFSp UϠbU :,'$>wњ;KZ‘Xn剑.HNT! ޭJwTsP40Ϟx(l}ZB,o="rE. D6H9h 82G鑋̫8Li6V$S]HG5#< EtYs@E Gq .R~E&O[unڳX0 :G׬ؕ(|$ʑ$* 7fm`pai:"jg5ͱ̺Y[FY,J1hȏʜE9 \wTNC ;K֫XsyXnO9̗5V#̚?\k֔x=MȱvJƧ @<Yq8"<.|툰g~cek!;r"B2J~$>F }dR{ݽʞP_)^d&ݱl77!!<;+Zտ$rބ}qJ *bK Lg7.!Z_X'\e46C8^& _>A2*Pq. r+|b-]jZЫ5 l Ժ.14FykYii oz9BtgN^U &%cn\`$fJP5lt/my×|s9C-?8ض2ksWʭyd]ɧ|]-e(F'Uhh&6:i{ F5Pxc/lhT =O@gF"5+*Z8!rpS3}D2+3 ⤙4l1$ES)םzJ'd@EOgnhjfi qKtrʲ6 =*%DfNmz.0~ _n'7iF-Oi:3Ge hcJekCI*oδ}딻V@ZzH[.#tum/Dʀd B{X[W׬/qa5H1cmTb`+\|#R Qam`:눰 d"5tAR63ⴴGiܯƢԡm8{Mӧq(*F?cdh#+KIqEOLNDs@9U!g?J#wgiD$kw*X4~y$ˋ00tC$ThmF$&:FQ"6HPM쫼 C7 zt~r_e޻0M9RvohxJH\D{6q>ms7!=n Bڢ+z(lK18[\<',wT=ɯp?(h/5eywa&P?H Qđw fxc Uq`xZ7 .7/E@5JRbݔ#z_U_鱐M N$Cߜxg@FLr2({LacăN&yфعRW|_DtX1>(tm r< DJaScJ@ m:M .ulA%wڼ=#l)w.pvq'9Qa ^mamĸ[fD_j bWNom')z~@ۆ#O$+ŭS)h@G{WDhB[AhB3V qA%Fİ?ӗ `X |!+Ӯ)?#7-|sE\3`NlaZU:k:]FF9 [ZDXpC%3g]Fa>bTW o/>W|WJBӃ%0%< Eu g)8Pgapx)QTE|B&怄y.U YZ