apache2-doc-2.4.33-lp151.8.21.1<>,%_R;/=„:Yj5NQSNHoYȭt(Iqjre{h"^:y3q3wVxYǶx6o ALY}5TiZyQXNX*<>!FTABVÇqC{OGݔi|(; M5[_rjȼ Hd6~|]r^' ŀz$87y{J wA;E4uHU>;?xd " C -3<ss s $s 6s Rs WshssRxsDdx(8(9H:vFS:GSPsHesIvsX{\Y{d\{s]Xs^bc,deflusv4z(,2tCapache2-doc2.4.33lp151.8.21.1Additional Package DocumentationThis package contains optional documentation provided in addition to this package's base documentation._R;cloud126K&openSUSE Leap 15.1openSUSEApache-2.0http://bugs.opensuse.orgDocumentation/Otherhttp://httpd.apache.org/linuxnoarchf,^;B7-:9Z+:=)`IA[EuJC6J? ZqRQO6U394.8wl}:{:Py5g|9?'tc${;F15$E53(MW] B`Uz9Yz=XsfhmD+;B?$!y@<C,4x{QSl/(125t-h1-]&59:-dR=y#: g==mrwpP_#Q=Zb+!u#/:&I5e7Q8HR k < X.  e=-+7;j   Lw9"U$ #&%% A"$"ckptknOOTp]62355.80+{5{>tP|`L15>cM03,gjqJtx9xƓ[G0JKPB>Ln֊'P֣s\|ZZ[a_5W[5YGq{Sz 6]2591zMr5[T #$&!NNUAI7ZDP|VQrmBGQI@5@=C>B264E,]-01*'J^PkO5lHO'>3z6))+}'#558--3/g3,e t!_hG at~S$E&$ PmTIw>I&K>,-*,IONAA.//0*G=nA9GM5RF$&%#8')!* bjqy| h|&X_NB]2&~')GQ5.n0#,N'.J,/c+ BF}I-*$69%Y@a*HgO@^/T2o':> H."*#Djyt .05%@']&)=.p069G#LdRkUb[SVEX " $%6;A/1<S"$+-g42)ͅ/2-&:2:= t!h# G!G<DI4`/6:N9[0_34S+-2=?8(*(DASXV=Ck$%)'!%_ (B*+i-@  } ?@WECCbĪP>-=@B@+t5 ,8.'8-0Ec?I9K :BYDFG JTQ%)QQDkxw/t_WEf,biU,!##w/>l%{U",{oIpO1P-r0'5wMhTF%WP 5B8-:5e8s<#;#ItPMN!!CK95H{/2,57K/ +]1}TPy{_D?/Ch~5cU]!p+w`i3X804h;_;di/1e0)1ffbsjh[j_%8'nnTW(+ZZb/LEJ4MO:N3 3ujJ  : kr`[|w@hpofMPoIRO}Laoh}dg#%&)#!%H!H # h54_7,9wI"NRgMCSCH\FWF?AA큤A큤A큤A큤A큤A큤A큤A큤A큤A큤A큤A큤A큤A큤A큤A큤A큤AA큤A큤_R)_R_R_PNMJAN`ZNImZNImZNImZNImZNImZNImN`ZNImZNImZNImN`ZNImZNImZNImZNImZNImZNImN`ZNImZNImZNImZNImZNImZN`ZNImZNImZNImZNImZNImZNImZN`ZNImN`ZNImRZZNImZNImN`ZNImN`ZNImRZZNImZNImO ZNImN`ZNImZNImN`ZNImN`ZNImN`ZNImN`ZNImN`ZNImZNImZNImZNImZNImN`ZNImZNImZNImZNImZNImN`ZNImZNImZNImZNImZNImN`ZNImZNImZWR*ZNImZNImZNImZNImZNImN`ZNImZNImZNImZNImZNImZNImRq3ZNImZNImN`ZNImZNImZNImZNImZNImZNImZNImRZZNImZNImZNImZNImZNImZNImZNImZXZNImZNImZNImXZNImZNImZNImZNImZNImZNImXZNImZNImZNImZNImZNImXZNImZNImZNImZNImZNImZNImXZNImZNImZNImXZNImZNImZNImZNImZNImZNImXZNImZNImZNImZNImZNImZNImVjJZNImN`ZNImZNImZNImZNImZAV͝V͝V͝OIOIOIC F#iHv'F#iAVVY(F#iHv'AAAAF#iHv'ARAF#iAF#iAV͝OeOZNImZNImZ7N`ZNImZNImZNImZNImZNImZNImZNImN`ZNImN`ZNImZNImZNImZNImZNImZRZZNImZNImZNImZNImZNImPgZNImZNImN`ZNImZNImZNImZNImPԦwZNImZNImZNImN`ZNImZNImZNImZNImZN`ZNImZNImZNImZN[ZNImZ^XZNImZNImZNImZNImZNImZNImRZZZZZZZZZN`ZSF'ZZ#7RZZZZZZZZZN`ZNImZNImZNImN`ZNImZNImZNImZNImZNImN`ZNImZNImZNImZNImZNImP%ZNImZNImN`ZNImZNImZNImZNImN`ZZB8ZZN`ZNImZNImZNImPEZNImZNImPZNImZNImZNImZNImN`ZNImZNImPMZNImZNImPuZNImZNImZNImZNImN`ZNImZNImZNImZNImPڧZNImZCSNZNImN`ZZP_ZNImZNImP%ZNImZNImP%ZNImZNImZNImP%ZNImZNImZNImZNImN`ZNImZNImN`ZNImZNImZNImZNImN`ZNImZNImZNImZNImN`ZNImZNImZNImZNImZNImYOZNImN`ZNImZNImN`ZNImZNImZNImZNImN`ZNImZNImZNImZNImR&_ZNImZNImP_ZNImZNImZNImQ٤ZNImZNImZNImZNImQ٤ZNImZNImZNImZNImQ٤ZNImZNImZNImQ٤ZNImZNImP_ZNImZNImZNImZNImP_ZNImZNImZNImZNImP_ZNImZNImZNImPIZNImZNImN`ZNImZNImZNImZNImPZNImZNImN`ZNImZNImZNImZNImZNImOrZNImZNImZNImN`ZNImZNImZNImZNImN`ZNImZNImZNImZNImZNImT.ZZNImZNImZNImN`ZNImZNImZNImZNImQ٤ZNImZN[ZNImZNImQ٤ZNImZNImZNImP_ZNImZN[N`ZNImZNImZNImZNImQ4ZNImZNImQ4ZNImZNImV 8ZNImN`ZNImZNImZNImZNImQ4ZNImZNImZNImQ4ZNImZNImZNImN`ZNImZNImZNImZNImP_ZNImZNImZNImPلZNImZNImPلZNImZNImPلZNImZNImPلZNImZNImN`ZNImZNImQF%cZNImZNImZNImZNImZNImQF%cZ{%ZOrZNImZNImZNImZNImP_ZNImZNImZNImZNImZ^OFyZNImZNImQeZNImZNImZ7ZSQ'3ZNImZNImZNImQ4ZNImZNImN`ZNImZNImZNImPBZNImZNImPIZNImZNImN`Z7ZZNImP%ZNImZNImZNImPrbZNImZNImZNImP_ZNImZNImZNImP_ZNImZNImPZ$ZP_ZNImZNImP_ZNImZNImWrXZNImPԉZNImZNImN`ZNImZNImWu2cZNImP_ZNImZNImZSZ7QZNImPZNImZNImP_ZNImZNImN`Z7ZQ4ZNImZNImP ZNImZNImZNImN`ZNImZNImN`ZNImZN[PZNImZNImQ'6ZNImZNImQ'6ZNImZNImQ'6ZNImZNImN`ZNImZNImZNImZNImZNImQ4ZNImZNImQ4ZNImZNImN`ZNImZNImZNImZNImZNImQ'6ZNImZNImQ'6ZNImZNImQ'6ZNImZNImQ'6ZNImZNImP_ZNImZNImZNImZNImQ!WvZCZN`ZNImZNImZNImZNImZNImP%ZNImZN[Q'6ZNImZNImZNImZNImZNImN`ZNImZNImZNImZNImQF%cZNImZNImZNImQ'6ZNImZNImZNImZNImZNImQ'6ZNImZNImN`ZNImZNImZNImQ4ZNImZNImZNImOWZNImPZNImZNImQF%cZNImZNImZNImZNImZNImPgZNImZNImZNImZNImZ^QF%cZNImZNImQF%cZNImZNImZNImZNImP_ZNImZNImYZFP9ZNImZNImZNImZNImZNImRZZZZZB8ZZZZPԨZNImZNImZNImZNImZNImRZZNImZNImZNImZNImZNImZNImZNImZNImN`ZNImZNImZNImZNImZNImZNImZNImZNImN`ZNImZNImZNImZNImZNImNmZNImZNImZNImZN`ZNImZNImRZZNImZNImZNImZNImQF=ZNImZNImZNImQF=ZNImZNImZNImO5ZNImQF=ZNImZNImZNImQIZNImZNImZNImZPZNImZNImZNImZNImPZNImZNImZNImZNImP9ZNImZNImZNImZNImPZNImZNImZNImZNImPZNImZNImZNImZNImPZNImZNImZNImPZNImZNImZNImZNImPZNImZNImZNImPZNImZNImZNImZNImPZNImZNImZNImZNImPrZNImZNImZNImZNImPZNImZNImZNImRZZNImZNImZNImZNImZNImZNImPOZNImPZNImZNImZNImZNImPZNImZNImZNImZNImPZNImZNImZNImZNImO"ZNImN`ZNImZNImZNImZOZZNImZNImOZZNImZNImOZZNImZNImN`ZNImZNImOZZNImZNImRZZNImZNImZNImZNImN`ZNImZNImPeZNImZNImPo[ZNImZNImPZNImZNImN`ZNImZNImP9ZNImZNImN`Z~ZZNImZNImZN`ZNImZNImZNImZNImZNImRZZZZZZZ7ZZPUZNImZNImZRZZNImZNImZNImZNImZNImN`ZNImZNImN`ZNImZNImN`ZNImZNImN`ZNImZNImZNImN`ZNImZNImZNImZNImZNImZNImZNImZRuZZD\D\D\D\D\YQ-\RuZDVMZD]|RuZZR]Z[Z[RuZCZZN`ZNImZNImZNImZNImZNImN`ZNImZN[N`ZNImZNImZNImZNImZNImZN`ZNImZNImZNImZNImN`ZNImZNImZNImZNImZNImN`ZNImZNImZNImZNImZNImRZZNImZNImZNImZNImZNImZNImZNImN`ZNImZNImZNImZNImZNImN`ZNImZN[ZNImZN`ZNImZNImZNImZNImZNImZNIm09d6efd0be9f1c205fe821bc680e4d8bf6a4eb89e49e4a2e063a7d458ae9d7c1ba332633c19044b668444adaca335de51759c0fea4b3752dd69330d8abb151abc95bae1d1ce0235ecccd3560b772ec1efb97f348a79f0fbe0a634f0c2ccefe2cd7a9fa56edd632dc1fa1cdd98a8cede215aa46255a76fb755099f274695722a2a057bb77f31729c816a99780da5a2c8013e4c4c26f76633da649d3503aacaa849a007ed134f9069037e25f5b54db3c31e5082672139c2d678a64d27c1a38dc8374c5e636183ec1dd82fc0f0bcd83bee44c66fbdbb7f88091bdc59006bfe81fa824322bdc315a179655eb3cb46118845b6204244b370b5ab1901f953a8cad722d75efb913a2a7a55061c47a168c661eb2092fd2ae363d70f1595229ff86a1bf6347e1e6d7c2414d1d819c6af0e4db10cb2aeb0777f8ae734327dda05007138888a5ecc73fbd1e2f3a55fe317d3364e26db1e57cb756fc2851e95e1c29ee94a4872da8b85255d669f8fcada2c539a4d32793e4deb7d94b7e038c547ea44371a5915e565001cdef519bfdf5b7984eee2f8dcf5c030adda2d7fe32606b7bdb902c7c229f10593eb31ab7188feed7621e739d21f5ad171356f62b0a5d5de59e9a27ab0c8a6510b184ae95e8f40de36166ea4f1296a533a124ad7e47750a2b882d567460870de8fdbdd9764c9ac9decd77005420880b895ca526249cdf9dbf7a8e28db2e0c713c66112e302fca6f353d253790626cad34129749ced42eab316e43b5a7abc53f3942ffe41bdc839e34f76fb78a7c90b25cd2c1c3b60d1dc4b38b02bbb6bd02ff27860c2e2ca9a482d19846d9eef9f81da5bde07a3ffaa7913d29232982db206f85639971a7d2de0dd9ee4a7ef17fa72bd310e9e8d62a6c730c777500893a95b88107a0b3cffc4218a0e19845d6725e40b4ca341e07c51799f3f844342cbf870611e298f121fa067a5e0911d8e2d98572f77a790342189d75cad3ab10190acdbb122f1b098b3f743c98a26b44b7788afdb1c1dea454f66a42b991ab1f8ea0dda0e0c181b97dae838ab8d3e0f036de51c2d75b9f106f87bb8fa7e5e6ad7e502b5a3026c0ecaea7314fafd82654bed2fb3dad113701bd59c98d52fbf91061a80c00f4e6d5fe92bf074b81b68cbece6c78edff8e09716edf1027988505ee51956c2848163474ce24590ad0a3921f2f69130620997ce19ac3f97ce7f49875ee76c31f958f3aa1ac21be32d6abf077a211302756ac8e6b286a0b33163751f720d4300fc7217fcf75d1623ed7504634f92ae46320f27c0ea01723ee66d39958a249cc0ae0d1fde4153ee5d6571cbc94e7c99f8bb7d658cf4e5dfc89769df387140b8bee726bef224ff7480bfef29640b416f2aa4224650d8513b42d3318f0f0527ea47f7a9cc8a79ee007aea75d72f52735037317a6f56a22d604fe5c96e0b9e0163f6c7ad63ed6e03cd60c132b6487510b950235660447b8ad4a33426bdfbdb22934ccb3e4b295131f294a4fa2092b8c440c2103768d45c0d79a31a4bd763d59a59fb236e6afbebc6a9d9466409cd0ef018daf31fe71b6ab005dbcfd2387c419e23d80286ae39781ec4524ec994ee4a65e0b3a7bd4241d65554cd60618bae1a453f510474d84eae9409d6be83e39dec6901ede8811acc8482ebbe3f5babbdeccc995248352a7961145df058263c26fb67af5f2a26aa93e7ecccdae718f4e08987ee78878002b0f04836c763f53ba3ed2e34e88a876a2f6c4f363373b91641427e9548070a32848fd723b394cf7387b28c613be2d62f2af44b8c4e054fa97fa0b2387fb69a48f13503f56b09872cfc58f36a90e450a40fd367ded23fdcb8a88c94fdf9145292dca38406f08e4801b9ffbbc40573d7a26f76774325fb88e9599cfd01b421c55649872ca5b6f3bd5e22a71f8df77dcd75b985c16b071ca49a15f114579b4f50649a45a9ef2ef931fed8f84e2629815bd231a82825171a89421dc92296c60853203ca35ffa531e23b1d665dfad942e2e0c050a5ed4549ddd273832d3a2188b5bed8bdcee9d7ea0343dffddab600046a5cb8b15d1e867477c1703ac728abf19e0becb2038361e5e9e23c4e7e0999f90c86078b4d0a8c6849bc86e804cf7fbd602392eb4981818b03281da3e98c229f1c3ad2c73aa9bdd39e33276311a4535d3b11ea1e92b0ea2902d7d7fbbddcc37b0d0113258bf33164884b9372ca42c87eac4f2f0cc1c38a4bdfb937758242196032d613735c9219722c638ad1a5e0575f82d8426fc7a7a64744ba47b458adca2dadedd448874c433aa5458304f86bdb6b8bc77fe97ea2e8eaeb97953e2b06d0fb6f90ae1512fa37b902054af955d7f00206ee2b922c1fdf9d406b3c09c9f1f6ef6f9a64fa6f2c09fc46050f1268db7825f77db5f75aab8fc4f1f63f4a76e955b7b9a929bd3119600df45e907349cd421d1d398d911225fb36ec00aac20a72c79208aecfea0efeebe7b751b3163d4c96de919b44233cec033c96c9935b7bd6583430b228a8032612f4546402fac5cba77459f690ca38134ff1bd645d064d5f677d5059b6acdf119694428f571f9a56f2c43f4a47d9bc4ea12e1f0b1fabff5052aaa84ea988ec7d536c3ca333087e5f78c6e4ede474505aae8bf2b67079792dbd2c5684593fd6f58ac3c53d0a4a704082233753fc9d630f28e6ea1fe6baa850e73725b9de8f6899d8131231584d568a732e471304cba9f0f64fa3e3185b20a9f823b9101ea696b5d22b26a6a55b7f744deba18444257d2539e9864ee70696ad3eaced762f6dc6565871dd584443c099a967bf66dd5dd74272aafa641489c8e5dca30ab079581a07a8d231a1c4b40cb2d7a4d145604bcfbca39b0cde1b37875bc043d38f7d94a321455af5130fb48b7625c51c0d64c91c0c4b9b0077a8e5d8f4a27a21a1573485c08eefcbcc4e194f9bc6e42702c83689215f41a07e5923d8c57595504a92d45556db282643e5d550684f9cf48719afbd845f1f707dc6fc7442374dd1a991fb9ac44209d2b9491b83355090960e76a04c08431182382a9625f4126f5872153ff4742d54fc427430f845af5c0856156ad27422909dfa6326cefb539c2a742dcff9f1ab376e9d91e5fd775f5b06d144b10ab871f8d933d5a1577a5f9121a23b4b18e676d9230dfb0c43071283704424ee3ecccb97119f526decedca794c697ea43ec144bb89fdb7513d384b8ea221932c2cdbf3f8316c00e1786ca577915fec52cafe4b7f1780c85422b22bd1a7f17147e294a048fb5bd1b3cc20a9628416308f87f5b404993696fee42dc834cfa99f888bd172087cc80f1c4a71506f3d4ea6794382ff1369bac8e6cceb87d945e10bcddfb23c7aa636ff4d11c429af9c248fc58cad9cf4720de5a5864e143bba39deadfa66b4e6e0ba5bef34f263dab370cd7b8344c5723a1c45d38dd6589de9fb2051a8dcbac1602e42c6061390cffb9561eddaccd44540facb1062c5688409104bad6477eedaffd3655af94efb366e5e462e3436668cf66dea27e745234c91663d3e98e066802451975aa9d89ea40a7b1d9b165416a0d377cdd1be9b4e3e84ed1747d6daf3f4629c9474e097aee1c50db4c276304ef3b4ef10e6ca1eb1aabee94aa74fdd306844fc6e1e9884c88693a31cd7282d81bd8f009c0edf3f147f7d4e06b1566aec94bdd37ab375cc14f3b617acc85b9419d80f7c3367acf12e59c3103535b5fbbdd90f5bbb4f4e1476e46dd2f557c90bd8be453fd49552b0787f34b97afa319a7cdb70e857ce086c5a4c369ebc17147b23a5999b43593887574635a3275516f50134e4fff657e5b9c675d82d9070c553d67af6acb041a44cf34e15ddcc515aedb057b4d430c6cbfeffb6320f689dca8e3e4faf00ee64cba50f95c8914530e5e848fa6b2fa93d20fdcf4c5c7eca47963834f83679baef595728696b02c90cb05e4dc24b4ae8627e14f12ab58de57ccaa81fab4b0aff9d65ab625c7f7ac9f409e10918551cbb52068708a944220590719f174bef5094e102c8a24d58ec09136ba4ed710d4f56869667088fec01c55e74f647ebf233d594cc5f2db0325281d52ad1fce2aa7fc1eb5750b57ebb17964f6695c912159f024895c7e992496bf68df2eacdd89ae6ce72236b5d282a8c4263f748672c2407ef82423b8895b9d6c06e276cfc9a99f3a571310b47fdb3beec56b86cc21d6575d6e0d8cb78f5da952c461464d06927f602cf051af6e000803f44805c5064cd927270e5146d1bd4adade2c8bd1989e2f6888f46e18c0f2dc66da78619d97eb9151bec4bd82fa0f02a4d8c095f8da9274e4cce5c3389557a2f84a8e046303f92e5600f498e13aee044dab58fc74a9973d38f9cdc1b7766bf4a2b44d083941cfa150577b14658fd7034caa397e7e63c0d0a7fdc81bc411e5a04e1a1f4a5a979c98e42fa10c59bf949aec72b56469a220c8fe1b209ab0a1520f6f0b392222aa0e2f05c177a04784250f13f69d305c50779b7721ca3b843241b9d2b08ae68ea4f555fc4108d4ca97d4d2837339e046051961f3632d0ab486fe66e6af567037589fff15d8df193498ecda557b846ec9e8e7d3c66cbd58c5af02b907ef3bbe334a4944b131bb33703b952ceb14df8ec1f7371840b48eb4793974222a268d8b5e3ecdb3ef544f33af620bb047722020c687c3b324a76508d1d2df0f24e4b2eabd98c5ef95ef7ba42f8aac9409288220126dd3b942d28a3f37cc734a8b69554195e4345c3748722ba1126a8dfcb4449fcd795e8137cfb1a8b710b9a5eabead9c5ab2fc5088b78c86ea63698a187023e0553be359540e59a472b3635abe176411aaa89bdde20c5f6660268ab7794c73c640586f5d5281810b3a86e7144891cc0f6674eacac0fa0b6a1ee29f0d157676790f381ee049946850876b0eefe0983e99eb742b4c2a5499d5c961103e5d0b76165c6c57aebeea44466e295eef21d9affdef4c384636d141e59188dc82fdaf61d2b0171bae10f1653d41c34518c36705a6d414fb260952145ce5ff32a5d1c239ee94bb816a3ad72c2921224d68144e8b848b2a2ff7be2b69782266abdd10f307cd316c9b540ea041ef2796f99ad541e7adf40e430075999d70e349ba5a10b688550cc00c09f4c9c60a813e4462cd2c403f88e7bbfd4d029e1094c1f60418de37492397b26298513071bd99bad90258e850c1fd623dfd9650e59e7bcea2f0862ea55457c0ab4ce1b83d689954d228f5b3d6c3f61a37ab652f9d14ac99ddb5b9e2ca4e004f379550d2957026ddd701d4998b91ee0258414e0091a1ca8ea158abd129bbd4ff8049aa32abe9494e8dd4a9e8536e17db8747bdc62002f152346e2a039cfc66f4cd06a056ec548f0fd8c93fcda8b5bdf0379a553adc7da1762462e2b1c8fe5651ad1c4eae591ceaabef13b43c00d811ed9931420468acde200b7b0ccbbf2f519d057020439f722f968e542f95e28af76c0de2d5c9bfc638024262ab6cf9e32124274bccdcb306c97da3b87763143afa640c01046592f4eec31b48593a4f0fea0616ffff8f89ff3e0e00936246b5803ab9ccdfaf177bfa34e169b9083b653636392073e2e6b3347f8a75ada962993dc088f1da61cf2dcc4b91c426b3d613ae3aa43cb2b4c96ded269cf19bc34c967e36ae089850074421c5cfa4984ce6c4ddb2f42122572dc9b2a7fe72dc4724a35761059146fd4bfb50ef74137edc952d0e9c866c0bb6b40849abb9cf35cfc525023b196b064f4541cf00b830d0b7a5f0f52362b9aaef4cef04ed157858f5c669492cd5fa5c973cd7fe127671bf7cf12e65241ab4ccc5fd4ecf8b2b02c06d23f7046e84274fb2b4a89c36ccf153d3765d91b5798304b1d336bf1bff47e76b98cd9d417745906166235bf316dde99458f5a224d54a828a4c4298afaee794b868ffce564ea7789de4b005910fc0b512dd2fdf4bd306568ab12685a99c762afe0cea75474dbdacf63df24b84221a4fb2383201c14bd77c9641e9a8444b9d664fef772a4037b9e2714a2d404bb4fe6e607ee6482a8622ab10798eead232e0615f7aab479513a2a06220fb640e8ddd209fafa25996ad3b354d92af478b1aabd71f4b58cd4d5e42986922c49c82105756889a9e4be5fb576f0a62f1c00d66ef00e377718180673a80395520814733fef5b4580c4425887d2143800fe0f0802a6fb8a07f51bff9d04710bf05b400a9ec1804a0557b6dd2ad4bdd02c25f1810e6df97e76e95e80f7937a06e167c9b203b651927db30ec30fa3c9257d9e41e45aff57cf6d2dd459598048dffac90804acd0c7d99e8f02296602ba2bdf7904b3f588796ceac29d244e1756b2d5cac49709b3c7fce257143eb5acdd644427ebc6e7d03aa74f3a8cc084f75e65e57d6c04b9904b75773818408da53872e5823e22cbc2ddcb5ae104a80804d27ab4cf56e269c27a86d17888614f8b2bedc761fdd34d0459dc91605bdf6c918bc1365c9bc228a070f5ca6689213ce732eb67a4cf73772a072e327185a7295e99373d27de757af4a3e8a71fa98e92d182e81f99c0f0b57fbf099a5cd076ee3ae4e057c4d0f3ec9741a07cbf2deaa5ec2c84da2dbf439192305c8d5030e21f29a3a5d2d8f60c93dee7604c57d8de10dede6a95d16d008062f9d098c9397f2ef19f167b4cdce6913d96d92f70f7640604eac225317d3c67ef81bfc621ce6b700243b7e5e2eef491a3e99c0a5b531d06b1bab2be12a48f1237c249e639ad975248ae55e1bb861cc7dbe5788c6aee2e7d25f82aae2a06dc446db8bd83c37d6c71602197097d1c65cde6f79b85fc5c06494b0bf6dc4a4f6b7f51b5ddc7187700ddcb81d17f8f7f64e2f85d5fb7bcbba11caaa2954667d18edec3f76241456388eb32937454dfd8f88b2501ae654f07144dea151999dc1cfc52faa1f89933712e75370f1b25973747243710bd07e3b6e183bc69b03778c8fd0317dc5c3d97bfbc6fcc6a2d45d2882283b48d2c06254d8556f894a49e0f95e80dec310c4e68a614000836d43fbfa409699dcf7853e10155e16c378b411fb3eb80dcbf548d4b7fda742db1886c73511e89950407a30bcee78608076f22ad31b7ba63f21c88c2ca2dbfa3ffc4d3bed181833ee6642b5a656cf72967aeba29939954949f2ea524d544915e83c59a182cf716cb724daccf4f19acf60604f1e41c72f74b069f4a929d196de14c5f8bd512dfccf81657e63caf4d375586a4aaa6ed59eea8551ccef412bc4da2d3dbc710784e499fa3f3c249e7b56f6317ab396239a2eadc800f1c99aa021fd94bc72b30e702482d5d1bd4984f3f0c5a12414c9a11cd2beb3cd22ae0feb390e5800546c8d1ef026039ef83310e8b4fa410fec3fee464773a731373d5b6e91415f8b8356fdbe7e982032c414eaed26e489d6d178622d02236841165e70872505e79a6192c136119b0987643031a3c729fcb74a3bb8bdaebdc3a7c977594d28b54cb1dd5f045d9ddfe5cd0f4a54e333d0d786d3b3454e5cb0c01dff8848efb2eb8fe775e44a6ef516c7a931f939d1b67b24eb732623dc6c98430cb4d4470d54a055e9e9384d9d3ba99d954ce1aa7ae78813beddd2a6e44e0d3999d5608af9677fb83cb42753f86df93cb03fe0eb637d0fead5edad933c9e4f29f4244abad4ae5056c56121733f87668f0ba4832c39a6881533d79a6c8b77904be8030431c4965b5366d54b960037d46b01ab6382ecc83fa3c35a038d3549da2bb46a08e30533d45f490d0c289ed8974aa951ea5ac3a58ea6ea196d64209b199f54b44020bc43c212df7590cd1da58641661f0f92da1f942489855ddf1bba394e22913cd78e3d06bafc624ee0bcfd5fbba9203f21ba348bca9e3d4575f5fd24552fa78b2909232a6431384f2662dd5c10ed991fce2f41036f01e7455058b7a764d4183b52ef256c2f62ba93ae4a9dd14b7d63e39e4f76e9f93d6c1ee8c3190bedc7839a3450adca86d395f183a872351a564b8b69689ca4d5e2fed21ba566186a5e185563d46c5284da7fd1ea9fafcc6a461cefd7b18ad3b3e0d2e2f8c25dc8bf2c78c5f00f3c90418fb5551c4ad1791b5af80ef0bd6da94ca352c325f1dd4ad5f77fab2a1d2d8ab93ec63ad6681998c887e36e89e8efc3e9bffc70681e8bb11bac7f571a78385cfdcf9d1ca5bd1cae6ab078676213adf6cd036c1e254cf256e43e73d31cc1b93d814bf7208506b4a3d4d7ff189aefc7ee05224d3b43dc42427a2ebf82dd07b6f98c3701b7fd8932dd4045d1ae7d71763f719e7921d067f3e391a31417922226e3b31f456043043f099af93650f706794a062f410fd9e196cee0054df0deb5056464b9b7b8e655b929aaaaf3ae21e29e9ba44073865b5b8a89d06542750bb6a95d7878e1265e1fdd28268e2cbbe28090ee57c1e8be5ff383bdd5a299730a53baee28170fe4ba9d66d2aa65c36cdc0eb7ff065e88de3671f0be8ba5322ef793eadd07892b2dbc032484e6a0be30bfc4680ee762fea5728fd801a07d2da90707df1ea090337b5ff88cd2d4f2ab23430d95f3a92a84144616108385c143edd39c88e612fc6a845de69b8dbbbe79f503324b833cac5e02f28f72303aba61600f55d03beb99c6e8d048c3b95727d79d7f063746d95fd57c6ebd68d18e1e2df37028891225b89ab09040e8b9204a2fc5d0d8dfcb6b3eed4fb945bc2ebc55a97c458dc8bde0c08f9522b9616108b3843c860e1508472b31c9916086de43053d2d43590b231d5a15380f07c9b34afc4df73bc2cd65f0ab39601e3b7a7151ac2aeec86b9b934e355df6411293d32315d9c880c46e062b09e911f3df7570c02561d2f3b7bf1bc792ef4c477a0993e77a1662d000f5ec95f27af43a5470c389cb2f1420340d5a005224762a6b6c69db4b38ebb561ee68adae1dddc63e8ff96e3f188f0d6c881e66f9249222b1c869d4210e95523d9ac08113ca29be31d922285d2f2eb241f2b768628a5d3aa04db78f3df76b2f467c133ed6f0ff3bde049ab04009325c0c463cbacd4d16457645b1f06287c4b3cf84cf6fe4b65a65367bc70ceae9ee5a93c9d8c2d2b3ae63dec256b633dcd8619019dcafacc55091c4e61917a999e56051eac67ec368d5bbd423ad75a319517127f0235e3d515d432d640a8669ec6167c169cd021b65cb1d25d26da3af6cca6f21215095a9af146a300a5c649c7da49a0e5a223831086d1abea459f582873484957282ac9abf9b413550350eb826162828de67a08a2330048c71ff795f376a3d80096838304d06f163ab5e148b2362bc473df6cee442364dbb9564d000569344a3eba7680e156f04c343c3cf98c9e9e40ce545a1cc7a42cf18e68bc55ef56e43763aa4d820bf0943fcb5b9726444ec59b6bbafc728739f04b9efeaa6da3be43df673408f74a02ac945a34301238bef18f6fd3617cfff362cc80cb750706c9bd799ecf12a01ebae0ca2a55968ea5343a9af64b6fd23304be75613075ac2dde537addc1a51dc0026e2bd7256c0d0341f0147a7f8aa7a704c575fe933a166a4b0c151c4f50580da0dadd0337d0339515c75d06c0cb0161d82ce6edb35d8de94b83987cfe71876b2cf90e718e6b1c053b5907979410666182ba5c2ec8da5de3d427ef15009c8482dd93c8cc09408c587fb4c7bc15bb41313fc200df7664bae10e2c8de3a86f8e1b34f5d580a41f4678d643312291f82ab4ab0e85b6d9172924ca2a6c7dccb35c8faf560e4a254f023b8b40a502c4471899f5172408dbfac6c659200b90b4c49c4cba8b074162e0039e0d474a981c854774916be0abdf57923e61220e2b8c9bf9eb70137fc6c9863a6cb09a932d04db93ddd691b5a384e29cd34db5efc8f7dca9f5e04c9c332a035638fcd460fa2b326cbae3eb4eaffc42cbb71f1312759cbf3d27d6ef75b1d9fcc6a4e54af85840d0be77c9585b658365e26baa9278f70ea96c57e777206455d14b2eaa2771df7899bd5de99e5036a8d5f49de7f8cedd156824cbb08b1967fade0ee331e9ee035695477a9c348169208a32cb942781929eab794d7cc9559f445c4fb19a29dfbc33d4858f1ce5c5bcaa8e4ba92e49170725909927c16d35c0c896e9c35c3ad2b1b8104ed300d143e5a3354fff68224333722ff439e3a4610895f24853a21bf503af9306d2554a429ab9393189c4d9036afdd3229acb76e2cc19260039ee928b63334d43cb400c7565131efb75335df802eceaa7fcb995ffd2bee2a302fd45cf6b7445bcd62f2fbd1287f37a76dec49b686830aaec3e7fa81079d75c40386f439450c1011752ea959504085364b60f4209de548131a9b54d801a045e5f4fe3aabc0583275b05db5e1a5179acbd38cc465db3a84d4b0673f1513aabcf9681555c6f7a9b045c1dd2222ecd9fb57c081bb75f2ddb8a3359c34dce1b69080f0fb3b2d5f39e6165fe743278596256e5db74c0836aeb8abc3bd8e6e6a00fe660e4a4c8917136342a6f024c613bf45a5b50c72a71dbcaa5cb84bc32c5e589a950b56bd992585e2c0304f3492e560dca0b7f7e7323f3e25791a58d1ad3633e64261d3ec55771ebe66bf09a9874035061b7d06841b127db7cddf3dfba7218a6f537bf0ee72d6f1f3232db56a99dfc5fa65e7d3f85a0442461af906ab601e0db7bbd29f3518d13c4551152e8be224d6ece0cab013dc2cabed6e8ce3b96e12fd98da574180b97af6af035523bbfe47717b9fe807cde126ceb522276a328a5b51140b0d81d71daa968f74d3869c14111a3e302e7851c9f3c726da5f0bd0b7d4c87aa8aa103560aa8fd9b30199dcaa0817d504ec69eb3608e8b7830a75decb5dc4a5218ac2b75ca255e1821cad4d6c01cdb57fd605e38591cafc9a434b9f136060581463ad053cac7d901c0141e61e2fce9048c0268c2e18e59ec20e72a5cec5cb6a1503583452c4f8ea96410d5a56b1a9b1d82544c8df16d6d1ec8ddccafc05e2dbb0e49d078170082c5ad163e6693348f2d871660daadc256179761d764c7bee38d737643d04fee9a4d5b64e62c4a4087ca6a767dee1a0001e5a0129985879d636178dd8967e1964a1782d93cc30f6507e3137ba2bf4c36aaa11d0394273bae6268c958cd2b52dc033e9bcc6c0f0c3ca6e1da14a7684321455d7956b070b61e6afd3b4ebf97820a6253b01a395278b66ae8c10f9523d8f314616a8ffbfb2d6b951bdab241854f2b925e864d66a4762b76a5972f91069b9f7c813dd24e1de5521d38c3c3607b35f45c70e6d96f3a38305181caa397132c073f5a0d0f4a05886d08f17293e71e32a0f88a88bfeffcf0e5c9c24349596b37500756c1ec637c47b070582a08cb113d858de39879e031683e45b095941c834525cab8f460d94be85e117c0253b5eb325d16cea3f5f4c09916fd21ed2de4dc4d987534446766ea7071e6ebb125404cfd14c146808278878d1c4e16bef538103c5724f00194667380a4435fdf99c870e687df5b8cd78286fdc0213d82195c7797c2dad365e5aae7d4a80975dec3c8899d5c623ab0a4a60df8704976fd6ad984d6ee2eaa9c023e1accb40ce0320bf31443cf80924b7e03e6d2e87d06b3a7b500a30e07abaeb699aec01252714e7758b7d7df1730fcdf8cb4cbc70d682b87869344c6fd4ee1e821b9757f5d0260068d7310eab635f8ddec0134ad3dc1142033281ba7679209b61b1f39fc1ef0a77280e5d8b2192b7d0f10b4ff6a052f517751d0bed6b05a2cc09e5c7c84e10ff6ef5062c3e7071e229aa9c0b9141be757755fed04b2309001c744b7dcc91808d45df75f213d6d6f3134b5f826036b56ff68a90e0aaceda28ba6bad55a168f1ddb081084385cca31f9740a0693d33f98a31440ea8a4364b66bcfb6323e4f0ae607dfcccd08202656043fc8557f6e0332d34abcf187d1a3dd65054e3d391eea192b15f224956fd04ddd93b49515c088187d6dc648598bd4a5ef02dd94717919c67ff5d52591e4cdba07e3d56a667979d11a482344104dbf55166f3dbc41dc8a77012b92a0adc3ecf50b3c576eea2f44165f24ecc91d981806df810ece60d3934f49ad4e1433619479bf714446126aa0763746967703e69852c75d54bccd2ec3ed49d182ae2ca899417e314c28d65c8a3ef854f2adf8b6a073cf8088d3ce88192ef3606a2e3e8c52ce58907e6926f55755a74fc5efc1535ec6d5605867558d5f22ba22fa59463b0ff541cd918637354e78513452129d2754b86e36b07406fc0b0d8434fb25329ddd6a4ab0206bc3df338d1fb47a9077d389ec7de27c75bc93f7fa68dc9f5d3aab6e71be81c5bc86e2170f0d7039c360889d26351eff235a5e3fb59a0aa42be1e734b957a719f3e595e1ce79885caeb260300ab501e6186de7606fe1ba83cd78fe1f1d9ba2ab317b71947c8e2db3c972f29861e6554b0696231cfa2bf8935d7526e085c12eb513d66cc4c6dd56c3df268a3590adfd60e4f9ef4f10171194dcc84ab8383435d2ba794a0b64576e431766174cc8d3c5caaf32863768b16ee2d6c58363ed36ca0aa132ae6e0dcbb4c21e596f5a45cfabfbb920b97ea40d94cd75e69538a198f8fa5ee41a8646b0334c0bd45909492c06af8f79907345eba6825e504d582023353da26606086437507f211b356fe4ebd77bc2bb7f718d339128b3e35ad9724d752374ada49db1c3f3886efe797ca0af721520449623df08076a75eaa68d1b568fc48cc5862a092ba7d59dae2e14b1ea0a9b656cc87eb36b254febd46404cf370d5ae3e766cae351ff7f10354ebf854ffe7c1892e70c5e001cbd37d6825e1b0c543379555e3e2612335296ee7de00e51d56ab7c171d4a7812e9576f8bad9a8dfc33dbe09bf4307353949c8df5b0c0f4415314f20431ae6a7ad44fd74e1cce8aeb083696dd379a3167a843b1949b421018b30131ce9fcb4e1b1d6dfe532fa661a859f3950b6875e9748983e5d9216a77fa87181a97e28ba0c0c177a28e2128232dfff8fa0e98ac4985cc2fe3d47da8a118f2944b7c80da2fbdef0a5ad2ad94ea78f76f0cf416edc23c3a46a4374a3c56e0d8d7a8eb78f83fa7fb372258747f01f029e86d011850fea601c8ee81bd11b3f7ce69be8421247e6f15c9739f8c3ae201d9dc09462ba6fc93455d937cc76cd1e87508ce61cd2f34cc965890898d1c5fb109bf20df2056a82aa7c10a57bd50c611c5d3e0f292aada517d2565e69a8ba556a1fda1bee4a997f9ed83f545ed7c03ea09d177d7f237f58fc8e5e1b9c951f8ab908b5360caa7ed48f9ef5ab4cef287f054d89124e8ad21776d5ad1fc313a7ed1677ad9d738b49bd050511d0701201d5a1c3e3c329d40b33ba4fa8dacf46d7ccaf5cc6c884281d5c52f805a7ac08310ce4f214e35c7f7098d7b8123564d4141d543940f723caeeb5e1d0d962e0d757d926ce786309b94c3d782fe8b9ae39a25a09ae588fab92eb0fbd9a5f9a4af0013559340b961d96c1be15c0d98e477da2d3db01546936b48a77f956de9aea989a8777ffb1d87d1ac980e1316f2a1c02e39082ce8a85ee5314ec89b7ca7721286fb3cb76830162115db506b276da7384807eb5e5f24d6bfd666ddf40476890ccacadf3d81366700867f1fa4d3e18a4e58463c7ff3404a1b5ae686f7db335fd8a0d4b11b1cd080009bbc804c0b7786ae3704af7b856e6ac5912b9f6d147974482c7917645fa6bb523261926560acccaf2a45940e60713cc74c4dc7e00b0c8b2ee53ef348a51cf345e0d3b6f25d20f909574cd5d0c44a5796d72e0811df6743a082e6766c52410ef6874727265134f27c3a3269545c55991ebb1445f5665e6cfbfaca2c8c5eb2d5eb8a54565836344d777077b81733da42e59dabb54a339b1a4d7dc7e5c55420061b21a92acd8d3bd94f106278554f35bceab39557893309aa50250006858587337641d15d0e7d154ae1575d7d61bc2c7f4266c86989558eba4c7865bb7b6fbbcb0252cdcbaf52430aabdc83b94e5f1a73f2c4f32e61290520b3fb88e12236590e03bafd97dad839205f2f95fd221652642e49504ec92faef04fbd61a14fdcead436a358fafd8237236f675bdc0b3f79936c422702607443449d630778907d96f93218d790d5792c7e49e5433f12f8cc2403b46f1325cd03c06bfea5bdc6746581081f9d909e852d0740c00919b43322e9999bc334267c9b174a508efed3d599002f820e85241de5cce7ccad61b29a7ae520bc4836299b93a9bf30dc7e3c78d82770190a99ef05bdf6b0e93c8870d6d80c1db3a53a391ca6cd99d888066b3a51f4e31ef3dc82473ad1b3cfc9bd4c74b8270ac29aabd4b725b0008a12dd922814e0f6420e9ef0db4851cf658c5543c118da5eddb7e5a7281fef5676ac6a0160e36a597df36eb89529f4303f493ab1d545ceb439636b54205134660a650781badba5e4e4698d8f41599c1a9ce3e71a3e0682b8493fc0dd05cd640d0018fb8a12396e8870d9bfa6be4ecb00fe82480520fb0f47fb493679a5b602e7078301e149fc3d7ff102e720863d9ea06113c0d1cc47d7ec419edd4becb591035b87ce86a7d44c6779c1afa4e281db6e08f618a94de374cbc76544e4951a97bae1a48375335b1beda1301417642cb8ad7b2f2ee7fad33e0e28d4246ec8e7915f7a9abd16185a112f47a21fdc349f6d1b7d13fbc85d54a7edf9dfb0b53640058e8f2fb15afc7c727feb09fcd7d1a8f54bca90bbc3f35e584e77a801837b2c395025c2befb8496388013f5e52d472dd5da6c01aae31c8b06c581a59ba889409e2d5e25908b27aeecbfe88226336bd215f84271bf495c2aa98f4b107a9e7c60cf1d78cd6202ae95d7c323c0c11dcce3c8f07b872a877530ee3022f53ce135968ea542712a71aa7d1d495c212ae3f602e51f1e9ce382ccaf9c6cb68e68413c57a44faa1edd6074b3a83863921454e95740162cc581bd9537786fbe27082663e0e0ea4103ead4585bbaf5f23d34a7bdbef589294854bb19eb829ecae2e67b5733d7c373f4a5d981407fdcfcf18011fadbe4089746b28cb5ae308234c63d58088655865410fa46ee1b47d3679d1c4e9d9cf8f7d34db247ba8298966cf15019a9980e4e5fb692db1a4cd6fb84100b2742c1742f7002889a104c6f05220b8d22c634a0d95d219ca72b13513a656658a1aeb48941be21909dd03b95dfbd130b5c154e68f5faf8cae55dd158b43b7927a3fbc0ab95b4e9f2a74bc8ca340f5239684d817349b2c7c38d023db04730606f9eeb6ec33b2e764d20d11aa38f0d4e050d66c46655cfd7fdd67bea894904009df5fa2f433680ef07f1bf81b983459b81a34548f68ee39501610423effe1d767f01642882740588577dd93baf98957da6256ee18f36b5a5414643642003b02c0caceb0002616a175e4f3d1141f353e4b137abf69e4892adb202bda3746609ca4325c950244b6a39f325a64017b6f861918ebba3555de9277e3cb59362b7a88fe48115613683331a5ca2b6148fd3eb21efad03001bc02f13d67198d761113427b3a66b579fc65ca9653b991553af582492260b9096aa3f564cf925ff7f91e7806a06f756242ac7a3c5d16637fa718561511945148bd9a7b37e1918f3a2a9bbd6f4d79f0635f6158180229c3533d4b81afacddca6bc7b745b8f70eeb2c613306a9ff57d47b976e3f2539314ee255bfeb27fb5843c30ff32ef0c3a559b43ef5cb0cb904fbd60d5fd09a171b35c887208c343af9639d0bae67f939423bec9d8c27c5212d12d73b0ff1661a396334855923aea453b75398aa25673ce6872eca575abe8dbe8733d7a2f7809c5f1bb9edc3dc2e630752bb27dc27875e30eeee035740dbefe0faa2dc2dd34cffc1c6a9c1423bde89047f2fd3bcf743cced98de3c5abc8788f3ef4e8334b67acb76eeca34e30ed37e7228cbc30f0e2b6cd06358a198bca455517330ac1acc1e23d5b7d30060e79ac382c1389d606829055026ea10423b2f6de641d74435ae04175232e53dc24cd71164eef8aa54faa130989e82a48f1f2c6cd7feaeba30b9a9c987c01b559e9e3bda12be868f1b98b98b5a3305db6da0df821ca7196dac9d1b1fab76f2ed1c3d984c7ee0eb1f92c8962d37c410e42921c9a4c8dfb85d5eb6068b3aee92741b5bba3c129c552e3bb5ffd0d5cfb59ad67be00c2b66325488a59d05e9c7eb2fe8b7f88496b1060f2841f102f11e26f9be9668085ce02c1ac16b36a953d93e8fe76220ceaf875faa8f61561cd75728673dffff87a81e91365f75bc0058deb6252e2e7e5f1a06a71d19a9373fbf4ee989d530dde4b70fcfc7a32d01825e12e82cbf44094da7c7ea5352e6b37f43c267e735edb00d3d34dba05f9396233418ba2892969f2a5a6c3648a5788dee34bacde202f9e87178017617caae230a36d13c6c65cb8b3aa9fb8be0cbeea8eadf527b76ffe96cf88e6252084694d6f89ed3220539015626bb7d2cf3a32c3ed6c45a95caa4cfc78d424c19acf21f36900731ddda7d0aec4fa1ae4af5e29755a6cf0b5dc3e948d995f388c953f2502eceb937d27cd69486c46ee7464c8cfeb322a0f7479b1fd3406cb6e337ef29a24e6271f6f3db6ebe66b300131565778e27d6a918f39711c69feff31a26c55eb9e08ebc6adbe579e1ce16e2e814ddcb3170c657f79b11e2a7fec1eac608754c41e1bf231b83b647e572a69e5c757d2479e76c4ef274d4b4ded7ec8261d5ede6c8ac21c36bd775e33af5e915af2a4c5acc9c374f13b37f87ced3ea41ae2e609f91c0d6ebac90959b78b84e088016225def47a09f9cc8b7d09ab4cdbfce0f61c1b785f9be67efba9b47e480848922304410fb76096c19419f49d5348686c0818a0cd6bb1cc388eb7d4342370a65bd455b1b6781c6101b51d9b0d66ce62bdd185d6bd1ffc65cc7d05aa4117cb7052b1373b974c2b22ef56ce8a77c8ba64f8f52c1e14d0553ca3b28693e753af8b768878c9578cfe9e93fe0c72628c490f63833b4bfee9155e8f5c85068074d7802a19786f72f9ef143582a0bb9d93bf1d187146372579729fc95ae5b751bc106070b91ac3d2422a95e8d4f0599b34ed8ce7cee1f18c82610eeb60200b84a6e88f4f9cb8b8fa9da2c55b74f6ca0eb14421807776798944730c99c959b629a3211143a206f08a2bd4a6c39febb2526c53e95ee727f6b4cce746aed474b939548935dc4dd5045bf44c5da4a1a11749662ceed807ddc965fef32a497e2bc20cd3727a72f3967c7cfbac1461af2b4ba0ccab14cbf2f5562bbaac1da3817bc9dfa612b558a6a9b3a8aa567ccc303477a2140da20e2d00b66edc4831639ad51ef6391823d1554eb5a64a8ed6531648e3267e26108b1e004c30941320546c05eaad64bc39b4d6114a710c0ec5f4ba1d7bd9f3273ec05f40f8323006db7228b6fe68b9ebc4ec0e16db7becbed59cb5993210c1d225e345c804274c747f65a1223364ce9052c2265f25356b207dfdef5008c17f932b230bd894a982ade5d64acf46330efee340523e509f45b7610ee3be26d09f63ac45fed929510b4a01b27200ba65a638711280a91b34db32be9baaf46b084345bc9483feb8f1b3f7497d1788276c892261c03a459f9463571bb70614a81b640cf56999b6f58b3f642aab0df3f1e35c48e19264fb6fca481a184e58d5056f9cd192a6b40305fd8302c3454335e15d853938aa4287e3ff04e18ef6abcc77ff54fd1c4c189b50d13bd4f1c463100edb6ff617be57eb5866629eaa4f90907da73ae3d9ca3e3437a7f55fb2c8ff1a665ff5d2799d37fb6a548d22e47ef66e020050600e9432b32930691eb7694c9224d474ac50791bedeca60226a92b76215d3526f4ac9c5fad6bbe9e10e46eafe09417b2701912cdb873708107b9332cac0c80418284a960c95e0f71f558a9e22809abb2a38eab69403addda3749613c9d4aa2387015fad1dcf5175c9b37ece7ae75559d8c1b9ef1e943496af26768f018ef7411204e253fc65717b9f04a6d7c83a93a11ef0a43e95590163da3d8afb568b40625aa813f638283f7971a7a7df51cd23928ccdf1a1f6e4e7f11591e62e44fd9e2e64393248eb5218a9be35deae60380dd6d9e64bfedeb7dd2cc580f7ff1fc12fa93c49ce46d061b6c25148b8f2c0b8ed12c31a94c1b0904905da42a4386acb3c0eaa6f8011e5c9389cca300809e92210fe783e95a320927e08ece8d812bed34b96ca0c5be11f9bf07d6152ae319624d4fd22c6525d41002e2cb42e1900e8f0835a501162f77a27a3b21e78d51034cbe21d741a6c7151f80c7b68e11434c0fac5287886771957cb9e1daec82e30691a0d0b19f0fe7fe6dbabe9919e507ff1e7589f550011e81915bfaedf1a1cf9f93e8b1f7a70fe6a44a9e5d0b8e523175207b10500bf423235bf68f3338fc079d8760b728ae4bd41f136c90bdd334b4a804c1d19493cf74b539af801a7877c6981d9426528eb1a7764dbcd939e3d3bc692b249105aa1827ac27dca40ab7466c2a4d62ba4f8e2dfe7a7b182a1fcfada844fc42ec8d65775b8810d2d55882378ae063b877359e0cac603740880b563cfe6d009d5c4d69f5bdb1a346ade0cd277dcbc8ec04a44e716895101dd808c0b0491539ac147f23a3117b5010a7f79cbd1684e41e7ec1a5ca62cbfaa9ec5b21df2e531e8c9b75b22dc70c415c649cc248ee980c52892e517e4e3874e3408a08f86fafdb0e3863117bfd35a9ea7c8e6e2f8186cadd1925d11efa4f2d39057bf04adbead061e4f0ef0a89fd392239e528e2f0248e0831ba8e71dbe214d74fb82fb9dc807871e0b45a036c2ffa0a039125ad593da12c1b2c4eb06b6e02ab1e49d262173aa0af65049069eed38caf7518a1adb0209269a4c5848082c7f5bfa7c1779e9af9c117bdb773026fe5e6970074aede04fbdb1bdc22ef2c47e506e1a3d30dfe9c4c17f84333fab51ad542fcb19befd042c45ad186cae0e6ed6ef5f735f044e135f266c5aa18b50e3e71346739d465de4db713fb83b4c6bd5ce2e0f3333876878eb20c6ee0a345accc665b4379bb32843098c3e633a489067eb7452b3b8ee6f01b92c1cbdd96ca7d7bcd8b03c4a1eff44ad8a6f187e852470d4f52b8802a92910a765e39dbf3a1053b985c5954a20a0bae97637835ff254d124dbced74c191a4fe4e43f96b66e1cebf9130796be2b8cbf0dd852edaf3f960f2f64d152e79096032e0bcc851eccd9c3113f92f66aa77c47cde3ae16c4fe99cf41b57e5bedb826aa72294f4168864ec052dc8db2586419db6886418b38216052ed1b2afa5b5833ecba095cd00aeff896811b721b7f0efe87799f0b15ee4ffb2bf3f6b290f3513439874b6ac2f58c549bdc3bb1f20adbf2f156d9b292ce9d9775c5fff314bf9b00c4a12d571c66d4647edd91971c2c31192b3826a09f4acf1e3f70dd283fe1a8aa2b193129f12317fcf9a3147a04011c68a5d281a623e86f3eb2dad58bceabda0f6403e305e66de9b0d2a5e0ae9b702491e0454037094f029fde10ab08f8e9a4052a9985f3c41e1350811e07f6ebb766648ef30b039022986943b807f6db3e8179fbe1f124152a65a3d60d95ee0f0cf9fb4f5ef3a267d974e6871c27398c6405f32cc484ac6b114ef9e31427aac2bd648a62abf9702d58914fa9f6d8b0d38ff11cd1935a2fb2f24eccf6403094447211be1d194eedd936e3113076e578a0c76fd205a66a2eaeca93a76e607f15cc5ef8b93d9bf63d7981b2cc19f0ab91bd7d5f61f8b4401690d8addc8f559469325a5a4c053eae35bc6764f185676b6694b5c5cfb9653cdfc43bebffe0db0c2812f79a4c9a72347c481a7ec949136a6ffc61d380494428e7786b05f2ab90ebb3dc0e356e6866f2f92bf7d650f68ed7d40d0a126a1c17248c53205230594ea105cab7311d1a9eb03ba98e22449eefd6d758f1c23688ad36eddb55f78a6e92ddde8925013f38fbc64419167f56d22bdaf2b39688980693be2b2d64000f0eaf05a20ca0b61c05e4f35845f79942d5c301e576f78a80f56a60790b75b98ba45f822e01634ed7eb70b72e4f11eadedee69253a07abc72fb6eb2f8609594f4678c3ec5b8494a7010dc0998a2f5b2594d97ed2c57740fefac563e74318adfc7f44ab68664e4b61abc1c87596d7e80ff664c9d6c2c6c81bdf679092b7a91708fb440ba82951a18aa32cf9d05c92a0e2328e17a35ef7c75b8a467760aac86f1a2034afe785f3ff8c4d2f0e5e542f57d4327af4d676925450084a9c5516cbd0d9b4c0ce90425a0f2101865d173ac21333375956d4d14ec9e84b571bc869abe195b4171d5ede036f7ce00c68d0fcd112df8cd347992f786cfbafa1ecb047d52ef553b13a4133b3bb758f1bdb3555176d034f74fb5996b0bcc301e42accb8b8138bb934041f1edf5fb0c90a3b28d986db01dadeb776a3762725280e63cdfea8e267dbf8ccc2092f7e11f2133b889eaf33ff713e80a29b03861fa01a3dcbe935604a30c9edcbd2a0d944ab6a9334c27140b1dc0f0d6c94e1995e4ec28fd7d8371fb28afaa00b329faada8ea9f7913b85dc50503b9a7d3b8644f60304cb786e7562b330c01753a068609a4b15183713ad2ea5391eb3f237a6cca8579d71e27261f92e7c6dc578a8f5396f137e59dd5a83f5f3f32ae35a8e757d00984ca6d5d1f5dd7cb491652fdce9f09ceec3d0fc68f411cbbbc500bcd4fad394b6864b0469cfb83e813b7566b87c2d70925ff21acfe28b1f422e1ae84767c4a3d6bc746629a3f62232091b3d3d8cd3cfaf6b9b387e479c9ab286d36c0093d19007f564e7e20adec847350a99ceaf2a4af3341bf8b34318bcac0eef01492675a7b7a984de6ced40ebb51fb12344f334e271314b202bd1c0d5b837958453603403efbe6755a25843eec4937a3fba4ce00256ce481d969c49cf2f949e98bf9b4543b1bd1a864491857dbe02658e0b11171cacec1667127bfe4934d3cc7cb9dc718a96e298c28d6ceede36c4da2d9b162b14db2941b7aa03591d220354f93c2dbe06e1e99ea65d3aa3536236242553d9d5a537753b88470e70a706e634ecc14e245bf76d04cd47168e67f5c24cc451f94a30b5e5819bb50c8a2806585f5f0de0f9df58df0a33a91d2de0d8db62f9acf566d40826395eb8d16e95331ead84e76b5accb9d17dad2b4eafee3dbf51df085d5b4388d66a33a94d71b1c80da212985bf0c7b3ba88aa69f032532fc158e419099ec9ffe4977d9bddcdd66a3528fc5e848d79f03307d48987dd3745f7d6a6d907c95c875b961eb7f0f65274e5e327d5575f8054bea69ccc4053078d3abcb2f6029a3b50313d555c97101073bdb79f386675a61e7bda64c68d56b0ecaeee4f49262c727528f99e08440b1c14bdf9073fb37a83150557ef9e002fe4f5468302bd8cf06251c831e32c0df514666755b28c305f91e2819f2da16213ccc151311b2e99dd6c1af57aaf2b9e068bc40ca720b57751e00ef9a499d5634034214a04284aa2e2a45b7b2600a0e78424e18bc964b2d33a827779314bb924cc9c30d08c9354f65d63146573423b405022ed8abe88f827321aedbe4f1b25d5657c5d169e38db1ff16cf6e820094c09e7c82cde227fa9debaa1889bfd8fb68da241bedf60355170285782548f7982f5144afc1190b9f1cca85907a58da1224fcc7f1f7b6932d45a76b630cfa37cfa0bbea42466241f39df5554b848a924e56e701a07293fe1b86fc0ea8dc8ca8d8502d5fa040c623c5da6f68d93756ab1d8ea6772db25357aaf27291c9fe03333bc85de59733f36cbe82955e7d92912eedbae394a938652756b4b4751a9eee7dc94044aa9d3169a17bf1ca5a60c89613af40c409aad54f62895781c9f3cf157c684633b7a61183f7853808d9263cc4d188b9db316d9061fe49634080090ce1b1c3792b0d58bcf46736c740828e6d29852a8b7f370f1ae0100809e00f637500437790fa6d23b926abc764175b27a4259e230a5fedd907b385d413a969934470e8b8d0e673e93f9fd88fb7b07dbc19935c1e05622fba7dc46203371d61929df467c6b6cbbca35c29867ebb03e210ba4811763068265b6699b803edce50b4d66d82c4368075119f15d002708b662e4549e10b744c97921311bcde544d4f6065d7f14074ef90273a0a6cb4e01c219bc3f4225e739a6e93dc81b9a41a7ac930b153d85f5a05953cb14278f017da078bb05e7c1cf90f0d00d103653dd2772b252d70de2dae67e1ece5877e59b7a03d92fb7bb8f17d6400d51ecc5f30c8965c5ed1f07b0669dd048918f56721536a3a4d41ae655ae9865a8f0c5aaf58af1893beabe4213a4b725b7522fd7f7f06009c0d3c29438531ea9d6405632272b962433ee5b1cc87c036f6da29d69b611b13865cd1408e765c346dd65d2e3e1310b54727f4207f3b2268270b4b0f3591e412c6dcd9eed4f7643d6b776a8fa37f69aaf717167134bc0d5ef221a0cb8ac06e51a584dae2b47824a195026840662f0f89f70c644214f2f219a2ce721f6788cda97ea72ee66aeae955a81f9d6cfb48d02821bec0334f93f5fc66e704dfbf3f52562574d6152b4f0ef369ea7f0ebc0092045a768708f68ad0de30f1e41b56d4b63d55ba20e7612f1ae98c57684de55b065d8bf5ac5eaa723af259986fc73c6a46df20271d60c077f3eec9797c5e2e94c68523ad92dec50e933bc27bac9f66bbdf38d4dcd1e4417473d47371b656e6424c99d6291979749c076f5dc38c9fe499d8e819d9f628f436f782d0cc46e9ab3f48cc1aa25996565f0ef494889941d1e8c517c70867f3651edf1b111eec70fc559c381b90f32d0fa9ef7cdae0ff28a1adbebeea01703ca86065e173785451914d805c43199db1c3edb9bd4f731a4449da13567379a9726bc340399e73100d2a8fd3a7f1f429dba0f824f45bb88e6b136ff50cd07dff0be77f40bd1992b29f37f725e11d5530eb8d54987b01bdc923f93c1aefe411dcaf1d297c2ff62310431d9be22dc00ccc08367efade73bd851ce1ae0d27c8386bb1caf45a90f786db118b3d1e88e95de138dd2ba38861981437b727aa26472b508ba6f043b110671f2d909aa4b9aa86551024e61675836a178aeb5d02fd9ec8d3dca14894db706a412b0f27285d0e58f50c322dcdd66a2b9fd3b61bec9629ccef1e3e81b19ccad027537949c2fead17ef519352ad48f82c9cfe470011ad436b456f7b969e65c1e0f266c16ed6e8e739bf4f5ec338af7bc15f0cab07f937c9f01d8c32fc9b1727b49181b3c7476f611ecb167634e1777bccd600938cd760bce0651f22ba6f637ab5060a2d8b70895a26eab8b8d938f8ecb55b534c9fea51130c44b7347f4e2be42612111cb935b457b89dda7f2632bd484872c987ad3900b64ae88eaca64dedb53d324ae9a0f036a71655a98b6e73e9e5965fe82aaee01c180e1085992ef941c74ed49876468b45823e9acc632a6439ebe2c7f8e4f4392415304a5bff1b7ad65b4ef776afc85229f821d16eaf42d3f548be3d867366ab327dd01b764465b3caf10473d22789224a50176851399832f17061bf2083153d1ac91bae139ad1298bdb752d963f09b67cae8ae32a654f8821196939d8a48fc2c603cfafb1fa1a457af23dd159202aa9162e9dce7bca26c512e30d25145ddab948e5ed6f1d9e760221b3c08403f963e74b1841b2b579ed1fc74b122b4b92e4ef067a452d5c221d54db744f86ffaa8db85e456509ddc62a41bd7c3c557abe84c9e1a8dd26c65ae5b10d2ff94780a1c5f9ba1eb74ffba9fba283219daad7e05c72102deb2eba23d27f877ef24c78e9c96b42aff42d9f8efdeac1d627d4fbd2a4af9a504b987a89b3d5cc58bb079691daa074b6ea341f57a4b3ab5d746438d135c619a05801458e00c0233352240192d2415d6ca5fb1c731512035b3445a6c2b94e44770c88466c8adfb43a992c2f93e1bface12f41f4b870f28c857465fd0b9d1348ea80c2864c8fdee82bfcd59cb2a9603192008d485ef68a57dead5bdd2aea62a9273360d7fd8fe3e5b8dcec259b6fb91cb41988dc3c17b2214e65401ff25454505cac96c9151e33c80f5251788989873d6a1e03f9ebebe9238e997f41209083a10ba2ab1c57545c84d32a4db332e0f7f8b3c85bc14bf5562b630ed254d701e613a7d81d4155d5c35aed110a2f31e760fd10ea896d2eec7cff7bb580026c99d42f2eb2e52a5a61513c0fcf2d0391b87f0f7361c8ade3c30ed97c6026852a95424b364eba4041b18acf3a93d4a5bffcc202b5baed13676f37bf5d467dd070382384ca4fdc341391f709edc997d345464f0c78323fb8228022d42f7ecbee0f73ce921ebd70cfa7ad5019b99e70d4b8298027bd6f7d7422854402e0e002a62604c851f10d0d23ff2f24b11014d681ad2dfa0728e6b7f350ad20d5a05fcf8cd0f5a6af0bafd4c6fc78caa095052f2de9c111c955a4d79843064316f67935c240da5d744c331c5f5c150862c555cf22315c0bdf52dc6e69562d19eebf6a282ce2b6b1da774c1857b2007e75e94462a66d41631435e207ab8d87e14bd4cc1835285f2c5c4a37c38ccd775840184c98b031208b79e7a61213fe21407c4cc62f1e93ad05df8916b55536bc56588e66391d7ee2f31c5acc4160ae9fbaa40820f927fef655602322cee0b6d8a7340956b3aa32dcb909ffe477a1b4af18a96f56db25b118fd4e17fe55693cd2138a8397c956962b31b985c4990485dfa0a37f326a0400e813258148a11bd9e398e921a77265112b6794f9b4f912c754cfce7891276732ab7711ca6de2507d2285594b666f50190af5812182357cacf39bfb1c6e739a8d3489651c8b1d8bd569a501e40af3a38d2fe81e624b298eae0525635f2a639fa2fc39dd2c41b594f7477c3e246af96c95adb51140adae3ddc0f1830273ab22fe56dcca45b7c0ab8df01b8cff4b6bc17199b96dfa5e2a2052addedeed8fa7219e8c8267b9d4e7f914675a9b69f993bae48033643b96393fd9eb55c87a611549e19dcb52941427492bbeca43505213ae6f2315815f7ec9b9dd4a8c29d9e3fd87d6bbdd5543a770e956991b2312f22fa486b990a501fccb2238fd7d01b0f626d37c6a5513251578cf93582684180246b467bdd3cfca665ee1667dd8a47fbc93a3525e4b27d9d3c54f785fc2e9421164617e1eba07a10b9a90e6d85bb7436796b54fda4e9a672ccea682180f49deb50c64598031cec11caa3ea2da297d34e52e12eee6b30e6f71c721749c3715fe1472c73ba14565d43db7e9f5d594df6ae3acb867a6b25ce7a06c84f918097c386ef89d579d3e44896dce8733fccd58f2e67a438ebf9f6dbbeebbd3f2fa3011d9b67b19168d1c76bd56b7f317765544c0e5522f2b1e69ff055c3bf33aa797f31e6d616a53581a3d29ef95cf954c56def8211e5db26063690e4787bfecb7c03909e3b60a4dfe8cd399cd68b1fa61e312146b85fba1cd04d916c4ff98726fd300f6cd36890c9fe5f068ba7721d90377230727fd0f95605213d4bf36b4beba409963f8f3582dba405c6aa749c680ceb2168e77eb96fe8e165d7a4a20717b9e8e9e69be6a3a83c52a231c13fc8b1269da8c927bd9744c1f05166467876af854dd47ae47f18f90875dee11c2d4a445a56759298947055ca5b1d687d2369c1c49c9854872854e278840e54f2e71481f863e72e0032fc9df95dcf76a47ef9fe5797162fbe898faffb9644955eb46eefc631004c4f5dfa15ed5e510244ae2b2cecbc4ac724dc8d350dd598a706dfeab0f78a4de3671edf7c68ced7a344308014375a3f29cf34fa6d9afe18340b62d5efe1e340f5566f4489aef59beac69e502e7ac7914e29aa1bf7daccc5819154b2c5e1ec1a29f7736cc6d5a2cb6139084425fe6589135534a7f5f93c6c8a52e0f3cf0f4978e732db76c96e66422b73e70cc7560fa37448ef036b3e169192dc271833ee8dfeb0284195286034850e592dea9220be66dcdd8b01c9902a57e5114847560d919c88b6b1d15676676befb1fc1928fc9327aaa46eabc6865af2323110e5ae8714c92a29bd13746cc78b438fec08c13a284fe4f7f14c88960833859aa24abaa2c2a74537986bdf0bff1eef837491768acc2567b8e37cb07d4013ebe792669fdf308bb394aae9a32625f6b5594a00d9412a8c0ca6de9c070963b0945a846ae885ee41a9b7e3ecf1a1d0d1e4be19a2ddd68ec55d40abc2070a6d7bfcf17ddc5ad32d4e23775421c40dfdb9ed470de81321c33a1b527b1f31dc178b8c35e1eb64f14a3345e7bf1e757ec35bdbf0848b6bf200b7884ffd929a6a23c99e569d3c02c4e9f73a095900d3d9f1e5b23b1eac1a99960a1a156ee244ac3872df53e82e7f2fe853c159a43c08b869efb8477d5f9eae35a19dee50da0b6441303c6c5bb52df692709c6346b3e89ca993e679a5f39ad0ef26ee99de6f45458d9d7641055201054dc8eb6900e60809797accd0e49d44d1377c840ac823eaea7e83341b256f94b88c39898d0f7ea58a20303b25e6e77e42aed2e7039c3228aed5be8349e8bd9b0ab8f1f718139038f4ce1622f6cd754a8ca0d74493573176973e5cd96209b6ffad4026ac06f2ee0155f054c9477faf7a8881c083fd8bcaed8ad1795c0d5c38f35ebdf7609b6d486c1182bc0a7e5d2ee69df3e70b5930d89d45cd0d37d4d246aa4373331b061c25f0da134fa3793d3635b82ac3bc31c04c8ba0bc2724f6318138119be7608422e7425f434a5d4d510c2ea8d2066b80334d80fc4448b9c36e32f4dccc6ee026530a4cd740dacc1777160126c9dc5d258f90a0afd135fbd5fbb20d3c59a5f06bed6ff1061e8d3932dbbafaf9d1c01ee8e3c74422c6412d89de473b8fb16a5e348e6cd933db74104f370f5d32ad3c7fceee5f518c0cbcc340033ea1b9f98bd0a59a0743835153bfde7a0a8373934f885a30fe4862b62bb3ad5327710c256feadba060f2fd5056532efc2f1dca87032c7e4c35f45d539ba279105b407e4a2a5d0e1cb3e4f26f903e727d0d4385cd84f7a97cb822cb6af39a224b351e0b4011e5fc117da1003aaa9317a7175f30e6454311a34dbb9906680556013b374cc055bd4b9c79796d07d30fdae088c6d979c7a231a911b951cc9949dd60255cf7a1c71db60f7bfa34a458a696c8c462b10583dbe8980493ebbf63871710f42bdcaf39fe600e284af4fe573e9dcbfaf1a0171717a9de81e624f5c3dd57bbf42b8c5b38b4b5903f065f62e7f0f6fd3942b2d47bfed191c7ee135b30ecfe4cc93bbf2628ce835a3796183cceee79cce938cd6849213f0fb8bec080c6c245fb40e8465603c07a24ed91a4d81fc32d13c98e55d18b67b3c4ef233bb5083909d1b8970a5a45caf90714fd0160c718c2fba2071e4a92a3847b2cec246cbd07d931167a292010188346e7c57510fa125a73bce0bd8696ff92d4caf96b867bf3da69c60c3f6960a54c7b4ef53ab877318e60e91b99cc300824ec49840a5b198e433b0b342ab5800a0bb6bff5184869b776557d05a280cc5c7f69905827af783d148acae33e8ca422283a757e163121c8c80ef8739f4a7b4cdd39b430b31f8b13b091ec1476436f02f5f38bbbb360041f4510a6d1cf7878e6599f37d8dbbbdde6a1bc8426965de131e6f5da38a9b31359943ce3feb72b01eb1d08ff042a3ef8b52d5077fae34609af3f79d8e06fe194d92da8abdd4f71dff81da06daa93025a9bc13af165dcc5ea04b2d3388915273d7590f0268c745d034e664e16d5f4bd9679aea1b88f438ff1e7f6b4487a787204098a47e0b0711c7e8d002318406519b50e20f49248caaafa05345ed92a72d108ad632b34d0c42db6f2c285133edc2a34c8f51884ae8c99953b83028bff27a35245b2e0a401b7b70358bc703d3e5b0a2b308c80b786f19ca767a40a320a7921bc0e621bc6d29794bb1f8de6dd9cc7862b83d0b88de38bae7522a5bee8e7e07097c31ff62e2744e6a818730024f3251ff8413309e111f993b2da4730871bdf951e1e7fd0c1adf612285d4b0525e9f26fc0b4e5e8177e2849e940feae879c99b983cd762e04c977b7b829aea20a8df106a176b17386570eda077a320016ed65626341c5a9b4096556febc5818153b52d92f6d05bda566671d72d61f97f006da378df77cd967a01fb503a8a2d621a098c66d21f26741cda558fd14728ead28430a92087d67817cdcdfdca3efb343ac1011804180d771c26735aea1a91bbb0d68a0e341e05c8dce89b6ed7ad5863c60d10929119a141b3285f2d88fd930153fdf0ddf90018a7be08f310da2a6c598c42ea476337583be4ff05ba2f765b37d6c41dee5ecc764195f84542a3f0e545290248dc49509d16598defb5912f8b367bf82f18f57e6fd42f110c7ab610d71a7f03ed09502ba0e605c3dd77876c129a85ec7c4c3090195ddbb62ca82944edb2d306a991243ba40c85091987e7fabd986515d3c74289674b3b4a7cb3a1ccabb64d4875177698d5976b2ab27e85b7d857d83273957177ac0463466362ac5a791590747c9733aa4c9c96ad1920c3a0b01531645d4dc313dc9f4df55d54e565eb82ac6abc5b8c5946272262f45959348c1dced6817029addb00e2e82a560080ed8e326bedd0d6cc3e1fce410e2ed830a74c23360798e9738f69ffc993ec5ba994e32d148ecf09683df3709c10adcb58e65572180e18375e4bcf1a8e0fbca31f027ebed8a82bef41712c095392c49e44f40d4f2e8a81a195dfb5ca9b85b95f61435b77ed8b7ecfbed74c005539cc31723cfee8ff26f97bed02fd34b2922cb412fcde146576e40db569af0affb6b846a7847c2e50d7e6737a90556343cd01c0e87a262bdccc1bac2b4780dc6bc8d650e062dae92af1548bf765359c53c44e20ae0050985122d7b861cfcc490384c143e4441c9cef90c5db970494e2d5f76a05aaaf9862a1d420e57b10e64d9a82b26ba1533565181abaae3112f4aee5c508d47b467dbecdf3992549fbf5f406f7fa031aadff00ba9e7e14c8f9e3027026a6d842aac6bd3816638f2ef2ebbe160aef5274ae0154e414876e5689bebf5ea69cc4859ff42b7eeeaa0b96aab0002c8c308e30d142be23ed1d6b41e7910eb296b8d95f5c894e316fa9ca4bcdcfbf61c5d507347a6f5b0cdacaa5ebb5f17ade3773ee93821a04523e2f7d8c3e24dd957589d9f51b9fc38a2ee06ef668c7da6d493553d594e47f8c5e72d3f880a36ee005d615d37d5025441ac982a50f3fe898968d5c8ece6cfd9af4b16499e5fa3f8faf08e63188f2ff469cacd983cb87e6a4eaeb0295f12c700c3784e8621b5be6007bcb1d46f8fe5bb7bc8cb25012af34544f83c857663eccc15898419b491e3939b50c1b819301ed3bac2b52fa5ad47ffca8792567795e8246c6a0bf968e7ed1d94ba0e6a4c22d3e7f987482c5b1c24539fe57630eb2354290c541d98bc15f3429455c4481483b2b7917e1f39de9c4cf0e91518714cd029223eb58dcd8f7da3daefd35ef38a2657887ed7dd0f16f8e680d796a5b9b58056fd7a11de43750b837c6c63b836682eed6bb9eb6516774d52ff770442393bbe9df8e8d27c4b12160d76fa282782f51c3e59c773c4f77f59993c2d9c7f0ea466b46f40410134201aa66012ce05aad49ab1cac9dc130552637886278d972af999adabc8b621db5816e3237f0e22b56da4e57d17d69e454488ef2cb48370135901909ac6a70842a658c12574ff3156740ca57d6f6e21e38411af1efc0a13363638c7a28804c7d53af3a645473ab236760c98eb94f2525e8e3133628004ec3949ef320bd671d1e514ccb56661b7ed6a25c066d76a2e0ca30b8c01b6aedba97ed06627c86c72096ad286bd3d17f8357aedb963c31d3559eb7fb62b08618078c6183dd769441642763baab0b1069ec4ce4622428f1c407e901510c3bc3e734c7bac89f1456f84583a90e6f0e7df58682193f1f2df13cb1bc1ed4f8d70cae5315207e9a9b9f1346a9d7ef73023ad097ab7540c3ff6cddc197ad2d22044d9e74fd71673a1c5a69a2b83d5c0a4fdef5e28318a39721ee01f540af3887404433b3a246065a1f2b26a0e689bac82f9336886c330c74b24d89c0ceb338cee29f51e1f0024a593515621e9a0c568d234c9c430ccc47bc8e78f2b478e562640e5164907d424abd91757320a18bfc762c72619446c14a7b2fd6cf68d94144f2ae0313278c18494003c13adff65afd7e921db11e20e4915f34514b79bb988a7bc1bfbdfb9824c2de3805c2e8fb1b879052a4b65f5d1da94d31eba75f737a82f6cdfb9f88fe5dcf0268f65dc2775575e173cb197a5b482383af845e4f0a1e1e26b5a0128b9daa84837e812a4cdfbea9b366f46922856c850ed3ee126efd572086a78fb6a0bbaa073e72b2c95a2d66acc3fb225c45df9dfe144ec2c0d276493cb51b7f5ba85575dd3a752acfcf011a9bf15fa3e89d0514c05b752e52186a2aa284a8f0c72b33120c3a57d1d18cefcadcdd2cf2b0065cb53fff721df0c33b63d04f450f63da648cb0b488b120693dc7c6902638b9c11c0eb0e5dde513def7baf08a964099391f9c7685f92a14c9c126d36c433d048414478e49561fcc8ec913efc9fbc07ecb6a525c49793eb660dee1382fb663299e45ea949cbd6e09bf55790325d39977ab03f561301287af9d90015741e8c06abc0713c72d8be4eb4ae9f6bee27a2bbc77449f6712e149e5fb873d58a7f380923add0511ccc3b35099e314ad74b7e8a835ccb5495815026ea2c88e09f1bfae37eff52d8ff3958810f1db861764c3f80664c017f173465a1cef841a01829a98db9e464bc4b44d8fa5475d0bacbcfdec1ac76de3aeab97cd23c3e9fe16b5fab98a0bd9562b7e3e85d38382213ec9421d9c33a1f088edf73f907596b383e84c9f6604920aa9c28b7211076fd776311393e2c5f7df7b033d58a9aa535909219b71946b0faab4b240e38ea38d4b31d3adef935ff10a86b2d888ac5d5c6e4bf35e7663a2f54d4dd49532e5d165675aafce2c61dbb35b787be6136c8923e1fc11ef80b553395e3732d363ce0b91a82d9f30975aa9d2fd5d6a17483c7d6f3ecf80d5c9773a539e391d65e3d89ffa0cf126cd037f5d83bd329bb054bd833dd8cee5c6502a1cff255d74eb258b59fa407016e4a3358df6b860a4e003498ad98882ef031200dcc1a72a0a6cd6c23d6040b45275f7511553021f70da12ceaa021bf774c52016f9f91cf446a6be586e73bee3b73752d77e786ef036cb9894685b4d3e86232f90db3845ac2979f637f63712605166130561f345b5ca3a9a6a269988a959c0d48e45dddd6301222f5d07c3936cda35e07a3b711453cba3d39d945c1419eb9a3244efc411c3088b2e149912106aa923951930b3b67b83cbc638fbcee06708c86f95a108ddc470dfedea81d9d7ab6c59f061d6ca9dc66239af000753a6eb4ce84ed1bfcf35d48a14e7462b1045aa649a331f9143956d4331e2c553ec11bfa7debffb04a1d317e16f04d095933e3ca9278b85565d4de64832ca240feef7bfe5adca98ef96763d0870b5968c4de7d2390837cb5bdb7db1bb1eaa521d2a90b963cd78d1931afe73d6e52f39c10a6287214fffdf00a66b566300bf6719ae0ce1aa406c277c4bad9622e06542373b207123be60867b63d4f0463ff695799086482ec0ac1e1597aac3eaeee9afc84e260e29359edeb27e8861db41a0d3def2e9d83f580e81d7798bb03b642a84577daff8f898964255140c34074bc4fe2aff5fe5b61174623b6fbf5e8fafe47fb113c2125bf42f4ddb9855ef6cc367cc9daf02f63041c56dad773b1c7d76f59e05a8f2525841bd0e117cca248c0e3c4591b5748b6ae4d2c5c19a9f05f424412fb1e602c1b6d1c80d8448b6ccaaa7e3521c50752254a7e0ba760424c8033d3b9ec8b5ff12d45eca44be5f0fd845948ad5c42143755f68ce2defe029c19fb5a453c610ec75a47f3a435f985a8eba16cf3a74f7b337391298e5202dc7c9ab441bfac36914de9a6a0abc87d0cabc1fbaf2e41eafa94f4388f3e0f90f291e89109cd308c6ab7646ab57b70dbe32fa5d2da3b2f2d2ae20bfb8f0ffa381eebd69442f9e0765269951ec8865dd30872516676f5ac08ab73a05279c4c904c52a33b528d45909db4dcfc9f33a5971cdb29e9adfdd592fd71af937bcd403e3277736929b7b7400b35226e29a7a04b1b0050bd5fcd1772d70c1221accd8f988f2ff7f8b0c53b42a69a15376bd6af76fd35793ecc66a6b5a364911725d511578f521b51561cc03598c7528f4267f3e52bafa404d3c09cbca64333757de99b5aff6bd594683989d03031af962f5740a5a08d6a4002b2d3e82b722249cdcef76e772ade6bd74f5910b99dbf1844fa28d3b7f2a77c1f9132c09eb3a6f6545865e763b754d6c484643e940b0b5f7b657877b9ab56f9c9358c5f7f784ada12b264e8f33e4d059bd0f4a1ba9ab3949c3a132bf6fe9527a4a9cbe6bc229f6b299da348ba898b263a64fb14965a7805002548fc18cbf6e2693936d489cca8e529878cb1120c5e149454e9e1b411c65bb5ad1b25a588ae236de98fe84df8246133714f8b9f10e7434dbf49f3adc1f045cd979c3b340e9e20691dc9e26164f5d8c5738e48d7394c0eec636fca7db95570460031b787cc43daa869d1e1379d4490759238877bcfa0b36204d2dab06655c8264e8976fdfd7987ba1d4ce8d5bd564fef0b408792c346a37c2b561943557a984c307a3b6b1e38beed659d1bfcadf3adaa0eb15432dd4eef67d6ba7ee6aee931fa6623a5e9fe38206fa8445771ee7902aa0cd59711f239f1f3e139ef60b9415d8578e750ed51dcf5dfb8073fd2b67880c3bc960311b2d64b3ce50ff4f8d173d2fe4e1fdc501c1ba36229be9b39e00fbeff0836bb44e4484129b3d120ddfcd1c882f2c75b819ae83df196de9a203492911e6dfdc15b4ff8cffa9e5c1f5e1c9c3e76f4e2892a26d8dd0d1f45b1d6e76ddec910ccd00e4b32ab5fb452c71eebb52305f177b54da5ffc52993ac3771f6567fc8101737fe7b663d220ec1bf81b52c3c923720272081e8046e8835f7f363090f2e31eb0aee358d4363a0fa1d735149dce835297a7ffd7e0315705ebc2bccd46725ceeae1b4422de822a33f12a27ed5fdc80081db39e66e27535918be04964ae76bdcab14afba7028bf523194930f130cc3b47f94d87833fd274a2d1f3ba05f425e74d495f1b2681a56536e1d33e9adbd0d3a839e10c3a7002725bd9196fb49753826b9237b99cb9631a25d805373b4cf10229a0ad7d437bcc4f3176e5ce7a534c32161390b7978856b20c75bbf296d9d5df54171ae8d1eaba675ea2f147897cc9bf42bf6226ff8eac03e292a10772f652e1f4325c1ad66f5b37ae20fce46265fe78f3460b0fc53f1e079e9a6474e9142c8f5f6d3c4cb181121311b524d824ab619b9aa598c0a05a4e62a03d09d734cb07110fac608a79751cfa7181245a795cbda13b65f6e37af882405853d07c8e85212a046bc7ecfc68d026a18edcacbfc9155465d654fadb13c98d579864f4788b86886ad58169151faf46862131cf16152f78eeb338e6407b87f4b7f5453e26c9268f44c3b4aae8564c49c3b2ef11255d5bade716690eddcd76d4a5f56557035e0be511ada8f72b2eec94c5c95d192218f590fbcf78962ad44aceae609f6567a014df1f78fbe1a2c6f6b176d5d9f5c65cc4ddca7a76b86d1067a5a8baf97988672177f6428fdc394f7aa8586b67e1c08a9389074ba42e63b597e297c3d5edc2c6427443e7d8f1d96133e2dad0b36fb4d0082cbdea39d73718fc6d1c030ef11e9e6ace57cc7defe91fbfadfe1ac73dc4726261653f83d046e5a8a876fef1b19d93b5e8d6066fd6d5e836353e68c0e516cfab3c98a22105a5358ba9ec2376c2b7d9a60f7f68b4fb39a3556d61e237e309d4edaede5e51a04ce028dfe1c7485c7bc9a5b9e2f2a697457fe38150e80fd42caedac0ed221f920433f411a6f4a9dbc43ab42b0a7b96cc815a1f7304898efe57783ce4036e824dfaa61cf68b7fdd84af1fe17f06e72c2f7118f9fa4e319e1dbf5ac5343319df24fa50c5ccefa72343f5c16c3172d9ba9341062ec1148625b126d642c1de90cf21b325cfbd07da04cbc7710ff3897f92d20c14af5161437d6aefb4ab8d9b62f20b8d8d8595c2a3bfc83c33517a1cb510bb70a32709092c3f105df31130104a2fffa39b641cb6075f0ac1c9d1c3450d6fcdffcdd6590c6ab35c34bf5650efda79f787ddc1ebf0d78a8a113a06290d6e9ea84f0f8fcf8a0170d26cb5835a96855ff28a03babecb378d690363a21996a78d7402e62339fb13c5f0aeeae08942d0d7a8977bd62d73b6d81b87fc9d179552450b9e300eee33b64ec929ef3c91b2d7bd0c0bd3246fffa5c707111ccc29db206be9f7d0ad9b894a7e9e24e8380fa7cdc4a0a06623f9405712bb29de4598292e45b627195fced7d240289c497c03708dbcb5aac4788b4ab6ba32c22a7f0171385c29bde5410584e9d0c5bff3db677ade2054597b1ca0567b310ebf2984dc895caabf3057bfb5e1aea33f15026a9376afb4b5949b7ba978f2ac728914c1566bc32d863e3a977c73dbc1e603b3c1bdb1f843986dc6a8ba6505d314f9afcb701cbf360ac70ad8a545bcc28d42828ef5be461a426c2ad3626554107a46a9ca9e30fda9a7ed55c1fb0fb2736ce41a977d03981b35daf42ee8b30f94b03ae630019c58622e345b27d970465a72cdd49a1dba06f6594af85d3165a0c255b6bffb632300cd57cbfac25ff3286cd949cfdbc6218a22f0f8bb4975fdb29a77291eb7886d9cc3639ff3e38572f01b50291dcb7cb721b340d9944b9c8e84f80ef0d4cfeec3fc7aa674d6b8df8e41dc456e7131104c17606fe2bb508c259faff7db4c75dbd268c60e4934397f87b33c134754795903726376104887f190fb0f8594d1cae5114ac28b5c0addfdc63f9d5d21dedb254a62cc0c455b1ccca61447e0698fc859a6851bd557c8dbd9f029b55c669c2498c66205f4488302f5eb2b0705c5fc8d44c33e7b4ad19c64f817eee1376e2f020f78e703e5986b37640ecd482d14a65716e39370e1a8cdf43e90fb2bf1044396dd4dc3d7785ae7720a6ddfb00d94219932fdc692b5ab8f15a80e7f0d348c6ca528942e1a0f483dd96ac7b260f6863945cf494a1cae69b9621fd9883234a67c9626165db62f32b6956b3b0ea68a34910cc05fe28026361a657022540a4a3a913fa0915d45a06b010728d007c16e29ed5a74b143f98bb2e90f729ae5f5a48974d55c0f52df25155d14ab2785dc4129ce092526ace75b491084bdff5a8c06c833bbfb9883b7b61ddbc34e08f0cb15cc88a042fa29220ba6828498ca4eba11b92582d48c6e47012c49d1b8daa8602a0c391a90d8ccca7cde0c7e9cdee91221c4f7b2120fb36cb1afeab794c8c29c19b93070f9c2ce1724e44884c79ac9bdf0d420dcd5b7690ed1253e5b9ec8bcce3a6816d5eb3b1fa980d4aca1f2158a44cb9822fe06b90d16505595b9b0019e59ee7144594ef701b9e4c890dfd82481fdf2746d0ccaa8da8494a59afebd17b148425ef38dd28e82faf2a55e9b8c240ff27548f34c1b982fc3f6df053ceff93b03765758987e62c09c25d01f272ea4a84b7c12f23c2c3c5fd79340452fb6e238e88df78203b3358f6aa057a7b0df44d60e523f7b61d6ff0a29ac968d1f5385c08a6d66060c982828f44d64c8730f6d33585c7fd65a1e19947b272092ac371ff3ab1de78afd406d91b59f90877416d9276cbf9f01298c175a431db0a3dde6d7c5afb84b240e5f377315584e9b96b8a3e5b2d15d56abfa0f53343c2ab335ba4f8e4750f96a8829559331bfe1e0612f47da6ab374e37fb44a65076c7640cf9e5d34a902271ab85c8fd208d389fa67244d1e9ab7950d791cdec4bc37ea3c29c9ed8a82ffeeddd1e34f70dc97821ff48ec82849a77f1de55b15887d8123a1dcd5b71da73e9e687b015991a7ca60bb8bb0ecdfc575e48d85a1967dd2480f0d80016b0c24a3395a105267b4fbcf238795c68e34811d4539e20606cee3210238425134f03a724f34c91581a9c9d7bcf1c804fbc043aac7fec003bcbc0ed6aed93004901fab338e1f3ce4d00314a750c9990962d8c974b4e688233e8170a32a64254838205fbfeffb90c623555b60cfd7986e498f06c7fec9504623697a3e8ab58965d16105f1ee277d34c180e9087ecbd7b7eba5f3dd5fd15dc6aac76d7623aeb3e49caa561de87d12d5794ea7b91666bf4dd4a752f676b2c773a268aa021a93d5fa09f844ff862c19d3b81a22ce2c35df362345764d5110643fbae2c7458715b14e79933da5dc5fe1cfbc231ec960fd5b5af0a3349ac1b31df4dbde471018a97615e713731adb27ae21fd1e0e0b85de164acf1c123ce95fb44d4a77b72d12d0807176fb658688356d94242cd42649c4b046b795bce196632f8800b24254f255c91867f3d26bb6072a7c7d1bc8d587317c08a6c3644d08e076291c94c21d9183b1ae6a1413cf3e0427b7b8bf69c6920be102d0801b13bccd2dd3914711dfb4d90fb7394124b5ce2f66df47ab14445068a694331de0dc8f0cfd6a07aa289312d2f96656d2307ccadd130fbb7797a82b768c67f8118c2d227f5203ef22a8a3017c7d6b552a661176ba394784247bc4ce1083fb1d3d11a659e6c6702e0ce28515c21b117cd9579d4fe161d96ae64d165c753f867e24ea2e4e6d42fd90700d56e36185610519d7d83f374b224865bb75bd19e707504bb697f246c2e4cab89d44102cf092e8b3506a1bec20a5515c689cf1a0c67256ae11c9d5f1071f7bccbda054cc9f637a3e6e08263926b184718acc59642b28da42efc87fa15238b035775479f9c1f06c85f2fa698f1eb6ea64d0ac91c79eb9e6d42965e0d9c9337c0f19e53a89d2b0a0575f84f0b4a9aadf924d4d57950ee6c5a9c31abb91ff80ff8e1a6f3bcc801bdbcda747cd4f807ad63955c81d8392dcc6074fdce180ccd40d5d6f4572085e896b4c8d56330fdaa0efd0a7122a3d023fc6c73f89dd380299c6fe6fa09ecae0fccf7ee627164143a053aeb5a17fd001ffc9e49e8f871728ea1c43df85600ec18898375487eef2d10370a919771884625246b52f0eb647c842c18149537e2c0fe06f176b422c97f7ed43ba4e5c1b4677e5e40b8adfb1d2d090b930e4be30adcacfc19c664496235448c9dcbc088f888090eb7427623378e4ea102cd85e0928b135c7ed4c2bcdecdecbd5ff68dbe391720c4c7599974b1d68c1a75acd193cf6176f21aa6baf57d37805ee6ca8fb63d988c45c9b1dabaa3827c6930954d1253eb73c7ff253dc29ab91f1359e90885153fef86ac6d1a5816d17f7b562be0ccf86993d7b7c83605fcfc24863e1d438b83f771dd7c8940e0f56c0a0c7a6ecb974a8030cb2d138f6ea34036d75dda9691102b0e6bd316664b45b47e53ce2e6d5c08513d129aa8cdef84331a4c86ad120d3d807f0088efa3f42c43d87ff36ed948e5a1282f4f48ab2b2b7e6f4af691f1f8c3a19e138885ab22671c2747d451a2decd66bf8dacf92e742ffa99e85e8c7ddbb4dbc820b3e6961c011331e2dcf5bcce8168017618942728e9025c3111a07adefc0cb56613309ee2549d9fbdfb8afe2978e5a13a7f69dfd9e8e6444addceeea2e682834b473b19d1587a016005bb3f7540fe01108e1a9830ad0c8ce82491e09028379a1184f9e578a8da10fcbe0abcd2cc163396cb820f31991443a150a2e6ef6c7b2da8847cf34f3af381eadf5e32b492a16e4d028339656cbd994e1c8ae0294aa647d1d9b1b5f8e36214a151f06e9286ec88da1b9fb897391a21a4889da4d00538a25de7e9f3dcea6fda5d63e18adf8a1240db34ef720637228fab44c9558760c97b87500b21deec8099bb577c1b24bf616593cc22061da71439a5c4abe9a63cae022efe69f41e6c830d7bb7332c9bf5da2af905cd1772bc2f0a9caf86d0c112f1ca1c360488e19dace87fdde557a1f368617f505012886d5043a4e3105573b45c3c15d359b1040293c66c3df6d0e680f0851e121ec30c12d302b4a06838c1a989ee10844cb8bb34baff6bbdf7fcb4763e1f7cf049363888a0d322bf8bcb76e398ba4fe32ecf9d28a43b43a9b2de8d159adc6f37cbb1e6d639b4264de789860e8b33389d7f5ca6ace7c44705888426c24eea1f924d70a65af5d701a02e233e5cdba1dfa3313a561a042e8dbbbd02a032433ec4a3ec9507a4e89f0740944dd11c929b22a0ec3aa12f72f2d3c94df56457d335d058a3bfeaacd5ecdd5f6f15d18349abbc53a77c6e6748b923f70c0edec435ca57453719158c3846dd5d4966cc993bb3aa7a029f8c962505270ae930ab0dc432e0aa8e123761047a885b326b27a4a4d555c37de28fb445434640a86c7b3c81d93c22474f92f0afbbc3011e9aee3a45d53a57e9b542043291d998ee482f182eb778c48e60db4ec0ac48cd71ce9f995554b5ab88c3148edaef306598427dc6b266bed856322f055ff9e356eeee3210ca5ad38dbafee4084df8a7835fc5f54e72ff7311e0cf60f09ffee16e6a62176132a633c24bae654d48c2e883531d4f616ebb064b4f510639ae09d4f4a2fad6c108d2d40e09c466007b16cc044b3892aa763572efe5be6af740a1c1c6cfe070f9064243a6dc7b6283a532d68d2c3c998cda7fc31ed27693dc8c40733bb17f829b1320a2d60f19884a761c98f300659b1d289eee8f055854c461e09b1a9cb4d32c0893d454c4cba6618b4e790feadb0e6858b83a4adab6e730f953a37c0e63ffce132e98daf875d987c299fe552e4ee3e9dd8412c7892f3f4fc748d3310fcb4430a72c07e040ec4f8a3c98ce8a03d04834ed63cf7c097e8c5d0e2b38aaf1384166381196cd3a14c2f2e29ccda7a16c8989e137c9f969c68dfe2e3a80926aad7fbafe931c71abe5e64972296d6092d5456d5e18d2d7f47673232e98393326603fe37ea4f99210475ff0aa311d9e48d57f4aa4c7648519693714251e83bbee30eca3cbca7426fa4ae7547648105b36d7dbbcd6c47f455d66b360a9be023d4ab7e91ab1c281a01343dadd5cb78801281e6a88d6ae2f5daf871e10e6150c22d423322e0c7ef00a098fac08c594ea20673792dc478816869b123f07f6eb002fef295da0e5333a43b65d319d1148775d8ddd9c2679aa85a9b8c335c785d369082f9ba869e10ee5bbf60145c37bfb37c556d0dcdb6269c55f5ecf8abe357fd1e04ee691155d2798dbf6ebe7ec2ee016423b015be2c3cadc2d41be3bee7c6730bcca2e06436300b9ebd30de61fa3131aacb93bba4284bedd96f579259ad1d3740512d883501136857ae531a0bea68368b674d2c1749719c4c5a3b6bc31854e8b5c824daf47b853fab82c8ebdc00ac8075b5724a2c0239f74ddfb2640cb034b8829bcea37b115a79e4c62c50740e4af05e97145c480ef2123bd2c4e0a8170c17af1cb551d7003853cd8f0abae9058e8d2fca72bad6c2a5bc4b5fcd815cf232caca5f7bb54a709b568e0c06bac3026d2cb33b413e6d1854328867c7a40676bda0613c71969f0e3a67ca7ef89be13d9e691556f42d01e86b9e880479716e2766f3dc9f631f2ff841306294997f521f49150450ee880893d435154cc520a252727a156cd1fc18745167499e72b77857fb83014bc18853e07a6196901de7def6fd4fdb9d86cde4901deca3e518d224a868b756487c1555bc4311bc87783849a187515a0bd8ff303fd4906eadbc1028ea2035c7c859b706a3cb67bfb342faa29fdbdaa5eb6d588ec3a00508823130a23a498d8805cc482503fbd351f5dbcc758f49420fb3e1cdc5689c752a73ed14fd251d97dd3ed08cbd9d40a759bb31aa7f544e41a65e8579e896f916acfa9cea7f8020f7e5f639819685c5e44aa059d9abfb77441056d2a0911f10a21313e730b9b2c237ab2279b462272f1da68a48dfe8639b4ee07cf29fa9807715fb924f5a632d0eff329f78ece2f7828cf4e4682f3af7deb76b3e0203c12ea61baf6ea0aab449dc434a7eba317af609db38085d9e8b89bae1fa5e72f199e606fa9900124f10b7da158699ad395989c9ffbdbdc6c058b5c4694f6aa4218d41dbbe9ad4cc866cb0b9bc550d76dd9ce7fb4ea6e95a2c48e96f97c6b055008192e0fd2f50fffea763e6aaff55bb79b8dc8b1ee3e32b40dad6e7f20b399378c25d6b308304347d636ba0452b2d05b19d7e408c603480c7b0496aab9d4c82d299cf4149f69d5889ecdf2f7a7bd7c15b732582b822836cddb9b38244b606caac704b005d9be2f5267742e207eb3d6fc3c0df15e9105abfbd117f0766d654990db736141c8c05e868af1e3bba81069b55c82085e3a77c9897835f3ee68a9fb6e41c1b2a0f982668901cf3a4528096caf4d29ea32e7e5f15c76eafb74e6fcab019e2a74374ffdd9fdb575a684dce7b236b13d7ca57fa3485ac7c016ee76b69f25c009bf946d86a4ce8c39f72629bc9082dfc62a975dc9adf0833b951aaba0138b877b789b8ca0ecff43dad4076e3c7cf374d2aad80d91b96d5108e8d639c9d1ccd68737ebd2243b1fcdbc05bd1a1acd9dbe79be89d0cc77d71c95312faa908888ae99470393343af98eac20eb16e369eb106369af38be8468808dd624f0d31a780a4b967a7c131fb5cd934770e374eff9f5cc873c1f7be033a82f3b51fe7914130830a646d5b45a252dc2a47068a1002ffb762268840bb0d24947e4819ad4a3c23557b6d31d8623b810cd6a22482c1e77e1bf79563d7541d1c723f984877136c3e76985c66e390d1eed81253a3ae8e792fcfd1b9e0ff1abb4ff85ec2fedab97d86edaf97ab91c7d833224e5fb2d38410b84c5feea9c9d9b15df404a0e7f01c899363f2efe6ef8498a1e53a0a7c51af260d2bb7b23574dd658a406bdffb4edf55074663f25e57689b7658aedefcd30d755a7ddf5e28c5dc3aa091d5111db9275f72ef6ea4321b200c2668975296f4e43510ba593a04b69f55ac629e818ce33dd5bd4e4701ccfcaa7d41fd0ff839f5cab9dd1a3931ed76db759634f658be846fe7116dd4bf133a9303f18ba7a0ed12fa66e7587af5aead563bfaca0ac6c0797ad5a0a1b3bdf19c1a94db87f48a8d6bff6e5dcb4dbc873a448dfff77f218f1db0d013ba57a8fe2faf576c3bb00bb3957015f32d30cae8ec9c7f78e4ad408da2e7b74bdbc1d038b6948ee4c6a543b580d72050a6d8299b50f8d709e42c11d75691faef6d099f64c85bfe75fc6bb5f2953529a005dd9abb11f049791f25a09063b5269a138374f11ecc7619fe1d120be2ba64298b5b8b0da4f868a48f52d5b95273e4309f07e81848593be054757452c2a04d66ce059c9724659cbfc982109c14d5d24fb3be769d3b771f4426ffd6774cedec48078332440af8b6695e793c0dc39c8b71db3d42820d53c05fdf9adf0cd2485a0711d170e7e85c451b43a9ed32f0264e27574ce7f58f393ac5aa6c6bc5ed374575cf3fa73dc87ad4890697ec7809e3d73cc84d890ddd03da02e232d19d4a98b0563e8a3fb55dd47413c3ede2c6a95bc8d3d952cde27defa355f9d0f386a5afccb8256c68f1affb6600a702ce1eab709fc7baa3644eb43a7d7a9e56ec3549c191214840ade22c1c67c3ca070cbbf80419762053c0592f735d208794c8e6cf98d890f38c70ca37c59dd9da088c4fa5fb137763b6aad204d88bc60c0f972584c7d5333afb8890615a88d787941dd3d16cfd86344cec548a8358e2be466b64bb44ed845c45993a025b0922b740bee3afe56e50dd3499d3af129684cba0206f89963e166a6188592a07ba3b6b4d313ade0b34991c8e1f1b862e8ccb170823e050a41e796e6e1799d8c49b5a2baed18cb76a9ad4ad0e0aeb6bab9a22a8ed4cf1a4b135623bfdcf2e013b35e30f80dc882db5824ff26aa6347842b3c7369c6769c4801b698e43623a7cefc28966f2ec2dc5bd3f56d464742358203165754186287f29e333fb83d358ce3c7e2a00cf036fbbd78342e1420d8a6367dec1d3532c770f75059580f0efe7acfe1d423c2e7aa6bdd12353da1919a95f9385d9f48c6241395409b3fd4c0836bd5802e702db874c4559b9e5a6bf04bfc1b190488d3d9da55cef5a19556535d6461d900b7aaf71bb8113e54a4035d22c0baa5529e4a531f7086c4cbd86d86ae156c5deb54f1aa2d02a4348b59b2471e03f627bb31c36bd0bb4594d05954b8f1ccccc61786cb2c07664339d6da73d733badf7892dcb64eefbd3f81a1610934f68cc2e2b937197122563afd537a0853b569826e9cfcd1bc7f2b112f73ac592f9e2acb71b8fe7402ab5184854d7fa7662bb65889f1b24de0f23b282969d5d45ef80ed2e6612e0f74d654e016d2c21fe55875c9195bd6f06052daa96e9fe01aba7d44e3b56b9f0bc16de807184e627653b5494d33e71d4bef2c1d2626abc41a0660f7249e193c1778d9f9b77a1ddc722532a32b76c180e23f2b21efa40b91244154facc756ccb312527f32499e5d217f1db1d16d3f14a771ab52c26892ef50ce4fe6ed5fda601c39159e019991b848e9e092b24b720a27054dbca4a065ff451af61ac1f09507b90765fd64814775fe35626dd4f6702f7271752c5b01499a287897d6acb4d73a61c63a0b7904b1ac119f17efcfb9e1948aaba986f86e090ae4e0f491fd89a50205eb3a0e79930bf05fe1957f78fe24002e3b036c3b616e28f42cc079c30d84e71976af0afd5a43425cc1a4fd9abce36083df55a9c9ec27b7ff7f92fa48c7f99a8d3c760be15b50e1b3617ba69812e37c6c1245be4b3141ef0102af3444907c7d5199de2dd34d79d67343f642da9f080648ac91ced4fcfc112661d1abb4f5805e648392de05087bc11ffef1569ad0b551308cd16fad34966d146e984426a048770068397bca2c18b093602e7fd66f912c6255e9d5324f62ba4eb13045822c78065a92b4620484cb72ffb91021a7258af9e794d908f764e1cd84544531a394d3a4722bb10afa9a18d7d6a362d50d93f1353213a3fc2d0820677f1f7e7a153f7925b112a066f6d7ff88799c1384fe7a005041aa487035242c741a1a33d8ed883aa7e71f442e81c83e03c0f212a550a39df11e7d80b093b66178d75504c6f66f5fdba6cbd8db664159f75e14477e4da035d3d65907d201c967b92f93c206ed71b7a9e93adf77d01185a75385a17c2f53b12c87617e67a207e2a9c38b344b73e8ac3f0e33c6fa1c40a889518fd9591a0eb23cb7d30701cea5e8b1e56604ab5e8d563e96c5791e131646a709e7cc8167f3d18182ac1db8279309190eee4039beac6041e8f54a6c81c11c4d45e1f388e8974fb676f9fc0888c242106a6de7a5f9c9ba23d1b070cfcf369602bee698df70066c0023a062ea68957d103437b322f3d463c8d93c35196ddce03d2efbd5c3cef17b0bfd2c65748504d9b48641dd80b20ee6ee5b3407f0a1d7cae5ba3b8c3e15f93c7434c5b4c757752dec1e868687c8f664439b1d3ff27d5e9ff970d13a11de49e86cd593d56de649ef1180400154e7a01ede6fe67c0015e46df2b7e18fb3e44af2c5f9e5d82e4a1ca63d8081c3ce5073809d6a02aa5137e9d364a3a027f30d2a3760b4244fba462c407510948420a2b691f2671c2d69181b17b3f93d473659cd02f30ba639007a485c07c774321e9cf9f57e67f2bd9390c27b710bca901a4db2fb3feb4971c23c6df5bb76ed8b6ba4296a95dc14d5e416619abd11215372196c2ede2035e040442f5677142e20c076d47d0b9e42440942eb5f0585e6b330db0817da597c170f84f6d9ca63b2d1b483c6f910d8a838ca648acbba3581f1fcfb76c39389b643df416c1316ca852ce85a5ae96efdd129f75357d0ee19d86933d7213728d1385eafdf08ed512c2e3e5a4529aff56d455a2d96b63c7c16f03157065a70040c8758426074a0002820225f5f5e26650a2226c93dccd2e1adf384a4654a1b81bd61523660e303154831e6b7c971f0423464fd3619f4f09b2cd6d50a4cfce6b303a237b3819693381845acc8025d5e6bc8577ea3dc9c36d8f27aacaee1c1b4b71b35cee784c585297b456507da5b145761f960d7c3523b3d0cfd0695cae7ead4b7df9ebfe93ffb6c65e35c9d894b7a058021abe71f1d9f91e337810902837490665e96a9239e1b08b9a01d41efa7d01717e70e488cb6a521ea9eab76ea8f160fb1fe4668d8f067da871730bd9fe579d7527309997aec6b10a4e5348bece79a19365653b7854af79b2746d1e5dfec521c360977cda6cf6faa34a04abba1c532e7ee417f3d5d0dba7f1d8f49facdf2e795ddc5eb13307c60e626f3be694bf7ca039407871d158a8aab642bb64101e6e30b16da0c7a8ec4abc6984142d1b52c3a7022a4c51e425134e2076ebaf18884b471cde8eef8cbb80e3031b17ff4d19454ebd580ce44693d107b7aa078d78205d6c66f5cda144c02a223b160db4f35e456b025211c894ed3f9b212034df18de156fb023af5958076187a900f82eeeb855eebc7a7bffe8724d28d0fc12d62ba1bfaccff82e3a279d0031c928bf87bffd23012110a2afb7cc8c948d94fa0ef4126c8aef861f778853d058aa0fd805e9905538871ea3124c8f4200cb13ccd67012446c45a87b56c319648859b59971f6950b9109cb17e40d41aeed1816dae3418b46b88f689c9d2c08cf2bb0d4672caba288f2a48addadf88c49a099059ca76d1229f05cd476614e9352752193a15eaa47a2a64de6cfbc89725dc44dfa2627eb19051ff4dc5f891de0bf6c1e7c2ec1ee68ba0b9a96d035127f411c1b4edfe9a77ea62060648eca9b320fc87a2b5eec3947d8709e8b1f1698f1a8d64c0d8f300f971acd170beae38136c598022104c7e7428ab484d36975181c49cb54ae22c3dd2ab4568e43133fa030a1f70d29dc1a5ce5910ddf7a74554b6996fabf733f62703cb2fae520619f344e0fbb6f683703771716372a58c6390021e119187f06df551c6b417be0d1aea3de818dfa64e65fe8615f144d5abdb854d9c014c48e3239452aaa9e5036143f599872d5d5f0a70cd8bbe736e68416873dce0ccb00bbd312d07127501eba78bad45d5d41a020b8f4b0ba5d36b3f88d7cae0c9e539e92c2224236cb0caec2da5baf263f2ff808c493912f74e8eee6804cd4af2440aa9098d930956c41acbfa0e3e2fe9eb378db9966fcb547517ead40ed7b7acd31b3d8c5df8eb5e693b0c9008481cd80256d6ba64f839507bd84ff24e4d65059a4c1b69f5bff905e9ad7e4466b772d095c2c2bb4d59894dc33ac31b402db36bc330206ce9b22421420b85739a0c2d1a13431b39d5b812f8346f4c9a5a549f6c4ba41c2b781e2b2c14ddf231409d636841c6bd7af844c914f56c54e15e4baf027454d540551bdb9a0c44ceb05a3b7248d1acb6bc350a9871e973eaaf7531a9cccdc16d2e3c0d113abe3048184aa72d0731b2dd66af34fb3a3876d7d93e8d02c695d9719b39aad647ba1534698b9ab5854d83e0aeea250a040932e8d370b90ef57c84c2b47fa3e95a7bbad4efea7e5181327208fade491785f4941a77611314c9774c84ecf4d418afb6a541d3fd10f91d43d7e8e1cb333a12b788776344b79e24437de0829c93b7cceddd3008f8a669bad6e4a28099436df743991f0eb033cf6b9cd7952af24bfd2ec1a263e37ad56c1a148fcc7580425605f5f36e330903740b479787685506f9772a122738e2973b5487c3a3f794de4c3cfc71a1b20f3ce561dc28f44c14cf0f7b0ef291448adffe5d039902e9d0ef56ea0b0428671d3828fdfd6f7afd50a1e269cd79540084224dd0cc6878a2939b3f959a009895a4889ee05dfa90d90e259d75357a0cb27fe347858227c265d9fc232127d6696db492ad25b86e1eeb71d572768ab38a535cf839c5df86c58ad95e5ed6176636cd3f15ea4a4c318f0c80d9404ed1ef5f67569f5024720905d7fde3f03da2f18cf8fb9d009df37d6e68c7bdf91d71e8dd46f8efd3206b346f0f1ebbf3ab7e583d114a9ffd03e0d9ec6c041bdfba0d7b4125d958f3068ef696b9d601b3c8ac7edc0d6fc4dc1e631544bdd168f9b9eca16494ffcaabef675654006c845b5c5377cb93f0c3bf02f49e656cb7710a4cee1f1477b8198eb8befcd3ac4bbcc00c34d9bd022ef3e79b13a2b12834a51bb923bd72e94db23067f80850d7902821920382d1de56a124927573bd8ef0cc05c1d0d108942b418ab22951432ef8117f9a6ad2e06a19d65648cc5c41344b8e9874d84768d75a39c171346a9c4783f595e110bafcc6c1cb006d7b989c02141b13f08fa6dcea45bcaa932f057c1d3256467cbe6c58ae15f8192e2385784cd3b3971ad8a08234b2ac25389310d042d00a2e8ac6c98111f54ba91eda588167a478692212e21503500bc03b6c9909de9c81bfc44a54c15d0d535200879baf511e09b8274c593baf09c915da333c507018a73f700a50a3be6e8a48dfe80687af8fd0d1c0b51b9f1c50c8ca45a92560b8c774c5f752fe0486f569e7327362de7f0ce5272887813e7b9cd8e7807ca63e934f8b8012a0db9bcf8bcd0e8e035e93b5bb602101ae6d6d2046829762ba5aaf06b9e27da539b9957743d8fa1fdf3a57f88155f9a552f376438db929c897eb507d060a8be28b9e6a842342c25b32c9a7382c3a32c7ffa9027db8bc6031df19b18efb05841ead2446816af07468fe35e4178dbe68aabeee542bdac763201a032c3bd3a56c2daa52016911c98b7ff04619a21376e56935cbec96157c882debebaff4836a77d0eb59c20cf6b7a2270b287c53bc5a6ade5d7dd9cfc63fe3ab0a7cad91423004b489e7bab146102f12145b2e253c0b9debc5faed230a88366b60547dc78f9390fb10c53d8e6d9e9d699f5cf9185ee76a5ba946675b6359f6ad36c1743683b43c085c217a8d94535ae4a01c68c34c6c6e1bfbbc60da57139840aaa04f48946b8e161739414bd36ca5f0bb80641bec71c751c947fbdb21a3ecc6f8fa8c27ad0dfd486848b7bb168e8f416c792d0acab6a70fc9539f818687456de8ff82f7fe69dd6b025c6d331f15da8033e046baf4ab1cd0b5c294dad5f5b21ddf2212d7cc3c93c1b5de2c544e7af90a9ac0e0dadea8b7b0790de1d2be0f2734cf1f2ed0d8acfbcab353505b159b18c680bf9dc00fe865beb585b8226235e76acb6a81bc6dfd4b1f6d7f2e7f6e0d4af2d27c6463e67a894a91b50d0cc354daed9901bf2fc59520f69a386461e71001e895feb7a97579991b9621c724b6550403d5036d9a4e3e18b6db3137e38cb45c2b7e91a6aecaccc8783cb3684bf95fa75bfef30441147c644fb9306499ca271690ec451f528ca5b6b8ae521b3fde3bb7df03e29c107f929e99dc7b5d37727df1f65d9b07dbc529dce93a0bea460f828006030e16c3f38c97ae893834462c09682a9ae7f91cbd7d3f6d6b62104575ca3efdccdf116b65d1b05d18e15ee5091118288c425d776020b069fced8b852405a5cc8c17476aa97d94b8a556ea0b9a8356d1433e5254613c5a28309a09bcc2fd7ffd86cb81d2ab2270585f6f4e24c3194bf5c2249d6c24c6b8b82d71b90b13be0703b38b3a1212d887e2d2ac26300f079d23b52508b8715e23e94a4e211ce93f438823e9e26f317245da8a4b54d17555750f607925a54b395f0a1d3f9db493b11b224152c5b69bbc65b5c9308d8bcff9033ff5a3ffb4c6a15804e13d70f6933d5a47e4753e637168775a1c49524189435500dbfebb332ae4e6455f8010b1f18ab7ce3b99e102dd2dc614321e9d414628698c4ac747e849fb83711ec24429d8166eaeed612ae05f695d3c9ac482fbe3a936241f4b3f234cfb67594e26b6a9940a4e9291e4db5b3ec74543ec953ae20a3a398decc16aabe2284f2f8cdbe5db3c87899df5b92836680d24939ba83e1cf3aa2629db3a89f40048845e68dc43e32a373189c6a9af03db71e28fcc1b6cb7f0a191ebe509f0bad49d386ea7057c9fc960574265c8a95c408ee17466598bdc5ea3a708a3ea855b0f57293866a3a374ea5107603cc94f4dc1d1b0272b0c4a54906c450bf2b83e5eb12d731d7a6c20d3de1437a119fb45ec13374199f9182912b8d53aec58f4ef67704ebaa3dcbf20c829113b9d9fe5eb32065789d223d2ac089c49c952b8afb6f3ebd23f51bab752a6f7957504088984f822bd629c294e88884c1ecc51c2cfe05c31819ac9691fe12eec089777047162d226ca62035f5eabea2020b81720feadebd565a9a536449b9500447624ad3719d0412393b0d9fb2d08c604903a2402d61cab6e04e75f3e05ae16da58525c2b8f6f0b6ffe4bd4d9eeed427d32c07f54e4c77034d5efde2b6d4b666d281acac5528717de00709109cd10e22eb34d8c8c31ca33f93feb0db33ed45fed3f3e05c990bd257dbec33221c77be5dfd80f8e3c5dd841aba262ec6a50e4726b750c1ebd55fdad1f3fc82649632b690f954d7d23756270371e461516bf89e0844cfa4b07fbe1ea7c691e326e609a735b3046e8ba9c559987a3a578f2f4e4623192cb789135023a4872106f922805364de51bc904fc3f7a4ddde381f9cb7ca761a9e21ef5783135f4b919b57524737c7625ab9b980c305356b84801af0377a4c8e3ee65a2fbf7ebc3880d4d31881e36e8aa35b61f89e011602ecd2562d0fb8ef5cd36f67126cc0b3f1c6d4b81616f1830abe3c474369c773b993125c2b456f537a99fcd233cae80de098d578c6e43c96f7c1aef11d298b64f3aef1114d5253f5bf712b800b049203cf50df4fe4cfbc1dc08a2854049f602e822d6cd8834da34814224a02e4b0ce68871f0c288237058e3eb786343c003337d84574b705f2209d5308756ad2079bb4cef7a59531ad76ba0313718572ddaa186cdf77602ced6d6590f5b0a88bd8dcfbbac13f02410e889f52447faf4b827b48c82bb25061f13a102c9a729967b5ffe6623ee2efd8ce6387334b8b026504e943937270b764f5bcffae87918c045b98edd50a03f28c02882247bcdc01d57f5a2926bb4513de3363238e7588f15b9e9bff0ceccb868260b7ac04457a1e4c768ae4fa93dd8358ea527fb1c0022216d970eca8368a6519fddc485fc31dbe7d1e314bc6aa387c83a63aad8604f70ada5f1877253fecfe47e22e3f18b3ffa16de3132047d222415f40328ced4c6d3e20058b6b5b809eb90dab39234fc6bb85afa9b56d71811bd8bef57e3ef8ea22887aaa96d1b908a8fd480a9c9f311fbd36a82b0ba839a722df0800d8a73a9caf2c12dcd06dd865d1914b959711388c02bb56fc30d30c05f1ebe5a62dbe23d138c1f9644c45d49e090674735633b948222047c4e2f4f31908012cbc0f31b6c48190f08df4969ea7776e505b0a1b640d0d86403d321f5aa9cae5ae56dcef436c27c8ff75d3075a0ba7263cd991f24c8a44bcbb087dbeafe4611c582ba8800113d65c694fced2e04648decf50870db7366b8265c05e303d9a8b7df21007aa4057e0fdce5510576ce31312363097b2e8b24836f4dfeed9f2fb694efa2f33131a56573324c8be4bd8c922b9b8628cbdc562142d92b12f360ca2082f76bad96c3ffddbaf28be8e877845cf22c4bfb86432468f3544a73b78c2b12cf0f7714132f9bd27e15b82cf226d81e862c8509f8ae69de29977370a5e5c8dcf65b6e8df10d4ac077cba705b9a12304eb7a71111716dc81ad9e14e5aa17ba990db8b09032828d0d73dceb9f5cb081e637aaa1a2efec2a7756a094044cfdc197f911ae7d4e0d3bcb992b37946c0b5dbb257264089f837a81b5f54362ddf34c285fcefa7777bcb8b5daffe900b576882798dd4ca9dccc888a4643fdb8c1a36a38d0c4a007a81afcb75456f5b314ff4e7f15ebb11871f4fdb8151cad44f59e90baa725a6f9a0373388d596619e5114a7f34b6784fb0de9773d7990808fd33d5a12cf49fca5a9a18f19cf2b8cd98283550ea42a755f4f9170c57a9ceb233fb6be2f67c23e21cb92846a589d79daba2dd69f81bab509a2dd5ad233ad43697ed08c40d866401b7c5a3f5ed23010107cc52eb0e63e8c7c14fffbc0c489b017192e53ff2b8cbd2e5c52cd18108a77021f998d50912f7bd7864f0d86960d5779c36f351f78c0bcb1169eda16b86f788fd4b904444a2b592654b55edfbe6e970820bc615bb29b6d86757a83d4988abccc5b3c13dcda8fa6b7034b15f6f656bfa081632824f88d1e241f392702879bc5c60d77db6a70683fd83de021c2d87d7964eb195e4635fc27f7fa70aa25012ff32515e23ccaa7cd7c52fecd3365802cb4508f16b9c0a87f1bfa74b329d153f6454b110d5233b6cb5f81c3034692744cfbe8e06cd7bb9d15895efdbd91e8e81ccf4033d9325dc99d401d34b0af3470efdf0737fa456914b92e51ec0b94d315f2da2efdee53c9f99912e635d3480ee63a6cb8ed7dbeee87d6c129d883f010f64097dd8bee7c3944d4fb64df0d2c4c10afe72c478fa314b1bcb3f7cf267ae5ab576a5b074ccdc9ec0b6c02a58e058fec5506f3eed320222ee420dce029b1d703c0703b0be98072814dfda41c5c9f0707dfde3b71e550eec2ec917be17e20076b50dbeff58f6cc87e1654a5b92e7e5754bb13b229c026839f8a8c0c20ebde2e86275f89a5e9ce916813358902ad55e196c6fd365f747cfb3760ea4f980b67d50067f7c7177fb8af8983d0cc6df04db422923c380eeba022ab458059459a29328b4104a7d748959d36b78arootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootapache2-2.4.33-lp151.8.21.1.src.rpmapache2-docconfig(apache2-doc)    config(apache2-doc)rpmlib(CompressedFileNames)rpmlib(FileDigests)rpmlib(PayloadFilesHavePrefix)rpmlib(PayloadIsXz)2.4.33-lp151.8.21.13.0.4-14.6.0-14.0-15.2-14.14.1_@_L@_2@^^^0"@^%@]X]^]Z@\\@\@\v{\I\5@[ @[ @[`O@[QZZ@Z@ZxG@ZtRZp^@Zo Z:PZ:PZ8@Z3@ZZ@ZYB@YYp@YY{Yu@YlYf@YI@YGY1S@Y@X~@XXX+X7@XtXj@XJXAb@W@WWWW|W|WF@Wpgajdos@suse.compgajdos@suse.compgajdos@suse.comzzaimeche@suse.compgajdos@suse.compgajdos@suse.compgajdos@suse.comVítězslav Čížek pgajdos@suse.compgajdos@suse.compgajdos@suse.comPetr Gajdos Petr Gajdos Petr Gajdos Petr Gajdos pgajdos@suse.compgajdos@suse.compgajdos@suse.compgajdos@suse.compgajdos@suse.compgajdos@suse.compgajdos@suse.compgajdos@suse.comknut.anderssen@suse.compgajdos@suse.comfcrozat@suse.compgajdos@suse.compgajdos@suse.comsergiolindo.empresa@gmail.comrbrown@suse.compgajdos@suse.compgajdos@suse.compgajdos@suse.compgajdos@suse.compgajdos@suse.compgajdos@suse.comschneemann@b1-systems.depgajdos@suse.commpluskal@suse.compgajdos@suse.compgajdos@suse.compgajdos@suse.compgajdos@suse.comkukuk@suse.compgajdos@suse.compgajdos@suse.compgajdos@suse.comkukuk@suse.comjweberhofer@weberhofer.atpgajdos@suse.compgajdos@suse.comjimmy@boombatower.compgajdos@suse.comtchvatal@suse.compgajdos@suse.comkstreitova@suse.comcrrodriguez@opensuse.orgfbui@suse.compgajdos@suse.compgajdos@suse.compgajdos@suse.compgajdos@suse.compgajdos@suse.comcrrodriguez@opensuse.orgpgajdos@suse.compgajdos@suse.comcrrodriguez@opensuse.orgcrrodriguez@opensuse.orgpgajdos@suse.compgajdos@suse.compgajdos@suse.comcrrodriguez@opensuse.orgpgajdos@suse.compgajdos@suse.compgajdos@suse.compgajdos@suse.comcrrodriguez@opensuse.orgpgajdos@suse.comschwab@suse.dekstreitova@suse.compgajdos@suse.comkstreitova@suse.comi@marguerite.supgajdos@suse.compgajdos@suse.compgajdos@suse.compgajdos@suse.compgajdos@suse.compgajdos@suse.compgajdos@suse.compgajdos@suse.compgajdos@suse.compgajdos@suse.compgajdos@suse.comkstreitova@suse.comcrrodriguez@opensuse.orgpgajdos@suse.compgajdos@suse.comcrrodriguez@opensuse.orgpgajdos@suse.compgajdos@suse.comhguo@suse.comkstreitova@suse.comkstreitova@suse.comkstreitova@suse.compgajdos@suse.compgajdos@suse.comdimstar@opensuse.orgjsegitz@novell.comtchvatal@suse.comtchvatal@suse.comtchvatal@suse.comtchvatal@suse.comtchvatal@suse.comtchvatal@suse.comkstreitova@suse.compgajdos@suse.comcrrodriguez@opensuse.orgcrrodriguez@opensuse.orgcrrodriguez@opensuse.orgbruno@ioda-net.chschwab@linux-m68k.orgpgajdos@suse.comkstreitova@suse.comkstreitova@suse.compgajdos@suse.comLed pgajdos@suse.comLed kstreitova@suse.comcrrodriguez@opensuse.orgLed pgajdos@suse.compgajdos@suse.com- security update - added patches really fix CVE-2020-11993 and CVE-2020-9490 [bsc#1178074] + apache2-mod_http2-1.15.14.patch- gensslcert: add -a argument to override default SAN value- security update - added patches fix CVE-2020-11984 [bsc#1175074], mod_proxy_uwsgi info disclosure and possible RCE + apache2-CVE-2020-11984.patch fix CVE-2020-11993 [bsc#1175070], CVE-2020-9490 [bsc#1175071] + apache2-mod_http2-1.15.14.patch- added patches mod_proxy_ajp: Add "secret" parameter to proxy workers to implement legacy AJP13 authentication. CVE-2020-1938 [bsc#1169066] + apache2-parameter-secret-proxy-workers.patch- security update - added patches fix CVE-2020-1927 [bsc#1168407], mod_rewrite configurations vulnerable to open redirect + apache2-CVE-2020-1927.patch fix CVE-2020-1934 [bsc#1168404], mod_proxy_ftp use of uninitialized value + apache2-CVE-2020-1934.patch- Fix for SG#56598, bsc#1162027: * apache2-mod_ssl-clear-error-before-certificate-chain-load.patch- apache2-devel now provides httpd-devel [bsc#1160100]- use %license [bsc#1156171]- security update - added patches CVE-2019-9517 [bsc#1145575], CVE-2019-10082 [bsc#1145741], CVE-2019-10081 [bsc#1145742] + apache2-mod_http2-1.15.4.patch- security update * mod_http2, read-after-free in h2 connection shutdown (CVE-2019-10082, [bsc#1145741]) * mod_http2, memory corruption on early pushes (CVE-2019-10081, [bsc#1145742]) * mod_http2, DoS attack by exhausting h2 workers. (CVE-2019-9517, [bsc#1145575]) * mod_rewrite potential open redirect (CVE-2019-10098, [bsc#1145738]) * mod_remoteip: Stack buffer overflow and NULL pointer dereference (CVE-2019-10097, [bsc#1145739]) * Limited cross-site scripting in mod_proxy error page (CVE-2019-10092, [bsc#1145740]) - added patches + apache2-http2-security-issues.patch + apache2-CVE-2019-10092.patch + apache2-CVE-2019-10097.patch + apache2-CVE-2019-10098.patch- revive apache-22-24-upgrade [bsc#1134294] (internal) - added sources + apache-22-24-upgrade- security update - added patches CVE-2019-0211 [bsc#1131233] + apache2-CVE-2019-0211.patch (thanks to Simotek) CVE-2019-0220 [bsc#1131241] + apache2-CVE-2019-0220.patch CVE-2019-0217 [bsc#1131239] + apache2-CVE-2019-0217.patch CVE-2019-0197 [bsc#1131245], CVE-2019-0196 [bsc#1131237] + apache2-mod_http2-1.14.1.patch- added patches fix https://github.com/icing/mod_h2/issues/167 [bsc#1125965] + apache2-mod_http2-issue-167.patch- security update * CVE-2018-17189 [bsc#1122838] + apache2-mod_http2-1.11.4.patch * CVE-2018-17199 [bsc#1122839] + apache2-CVE-2018-17199.patch- do not create sysconfig.d when already exists [bsc#1121086]- security update: * CVE-2018-11763 [bsc#1109961] + apache2-mod_http2-1.11.0.patch- consider also patterns in APACHE_CONF_INCLUDE_DIRS as documentation says (patch Juergen Gleiss)- security update: * CVE-2018-1333 [bsc#1101689] + apache2-mod_http2-1.10.20.patch- security update: * CVE-2018-8011 [bsc#1101688] (in case we will enable (now experimental) mod_md in the future) + apache2-mod_md-1.1.15.patch- SSLProtocol TLSv1.2 [bsc#1086854]- updated to 2.4.33: * ) core: Fix request timeout logging and possible crash for error_log hooks. [Yann Ylavic] * ) mod_slomem_shm: Fix failure to create balancers's slotmems in Windows MPM, where children processes need to attach them instead since they are owned by the parent process already. [Yann Ylavic] * ) ab: try all destination socket addresses returned by apr_sockaddr_info_get instead of failing on first one when not available. Needed for instance if localhost resolves to both ::1 and 127.0.0.1 e.g. if both are in /etc/hosts. [Jan Kaluza] * ) ab: Use only one connection to determine working destination socket address. [Jan Kaluza] * ) ab: LibreSSL doesn't have or require Windows applink.c. [Gregg L. Smith] * ) htpasswd/htdigest: Disable support for bcrypt on EBCDIC platforms. apr-util's bcrypt implementation doesn't tolerate EBCDIC. [Eric Covener] * ) htpasswd/htdbm: report the right limit when get_password() overflows. [Yann Ylavic] * ) htpasswd: Don't fail in -v mode if password file is unwritable. PR 61631. [Joe Orton] * ) htpasswd: don't point to (unused) stack memory on output to make static analysers happy. PR 60634. [Yann Ylavic, reported by shqking and Zhenwei Zou] * ) mod_access_compat: Fail if a comment is found in an Allow or Deny directive. [Jan Kaluza] * ) mod_authz_host: Ignore comments after "Require host", logging a warning, or logging an error if the line is otherwise empty. [Jan Kaluza, Joe Orton] * ) rotatelogs: Fix expansion of %Z in localtime (-l) mode, and fix Y2K38 bug. [Joe Orton] * ) mod_ssl: Support SSL DN raw variable extraction without conversion to UTF-8, using _RAW suffix on variable names. [Joe Orton] * ) ab: Fix https:// connection failures (regression in 2.4.30); fix crash generating CSV output for large -n. [Joe Orton, Jan Kaluza] * ) mod_proxy_fcgi: Add the support for mod_proxy's flushpackets and flushwait parameters. [Luca Toscano, Ruediger Pluem, Yann Ylavic] * ) mod_ldap: Avoid possible crashes, hangs, and busy loops due to improper merging of the cache lock in vhost config. PR 43164 [Eric Covener] * ) mpm_event: Do lingering close in worker(s). [Yann Ylavic] * ) mpm_queue: Put fdqueue code in common for MPMs event and worker. [Yann Ylavic] * ) mod_session: Strip Session header when SessionEnv is on. [Yann Ylavic] * ) mod_cache_socache: Fix caching of empty headers up to carriage return. [Yann Ylavic] * ) core: For consistency, ensure that read lines are NUL terminated on any error, not only on buffer full. [Yann Ylavic] * ) mod_authnz_ldap: Fix language long names detection as short name. [Yann Ylavic] * ) mod_proxy: Worker schemes and hostnames which are too large are no longer fatal errors; it is logged and the truncated values are stored. [Jim Jagielski] * ) regex: Allow to configure global/default options for regexes, like caseless matching or extended format. [Yann Ylavic] * ) mod_auth_digest: Actually use the secret when generating nonces. This change may cause problems if used with round robin load balancers. PR 54637 [Stefan Fritsch] * ) mod_proxy: Allow setting options to globally defined balancer from ProxyPass used in VirtualHost. Balancers are now merged using the new merge_balancers method which merges the balancers options. [Jan Kaluza] * ) logresolve: Fix incorrect behavior or segfault if -c flag is used Fixes: https://bugs.debian.org/cgi-bin/bugreport.cgi?bug=823259 [Stefan Fritsch] * ) mod_remoteip: Add support for PROXY protocol (code donated by Cloudzilla). Add ability for PROXY protocol processing to be optional to donated code. See also: http://www.haproxy.org/download/1.5/doc/proxy-protocol.txt [Cloudzilla/roadrunner2@GitHub, Jim Jagielski, Daniel Ruggeri] * ) mod_proxy, mod_ssl: Handle SSLProxy* directives in sections, allowing per backend TLS configuration. [Yann Ylavic] * ) mod_proxy_uwsgi: Add in UWSGI proxy (sub)module. [Roberto De Ioris, Jim Jagielski] * ) mod_proxy_balancer,mod_slotmem_shm: Rework SHM reuse/deletion to not depend on the number of restarts (non-Unix systems) and preserve shared names as much as possible on configuration changes for SHMs and persisted files. PR 62044. [Yann Ylavic, Jim Jagielski] * ) mod_http2: obsolete code removed, no more events on beam pool destruction, discourage content encoders on http2-status response (where they do not work). [Stefan Eissing] * ) mpm_event: Let the listener thread do its maintenance job on resources shortage. PR 61979. [Yann Ylavic] * ) mpm_event: Wakeup the listener to re-enable listening sockets. [Yann Ylavic] * ) mod_ssl: The SSLCompression directive will now give an error if used with an OpenSSL build which does not support any compression methods. [Joe Orton] * ) mpm_event,worker: Mask signals for threads created by modules in child init, so that they don't receive (implicitely) the ones meant for the MPM. PR 62009. [Armin Abfalterer , Yann Ylavic] * ) mod_md: new experimental, module for managing domains across virtual hosts, implementing the Let's Encrypt ACMEv1 protocol to signup and renew certificates. Please read the modules documentation for further instructions on how to use it. [Stefan Eissing] * ) mod_proxy_html: skip documents shorter than 4 bytes PR 56286 [Micha Lenk ] * ) core, mpm_event: Avoid a small memory leak of the scoreboard handle, for the lifetime of the connection, each time it is processed by MPM event. [Yann Ylavic] * ) mpm_event: Update scoreboard status for KeepAlive state. [Yann Ylavic] * ) mod_ldap: Fix a case where a full LDAP cache would continually fail to purge old entries and log AH01323. PR61891. [Hendrik Harms ] * ) mpm_event: close connections not reported as handled by any module to avoid losing track of them and leaking scoreboard entries. PR 61551. [Yann Ylavic] * ) core: A signal received while stopping could have crashed the main process. PR 61558. [Yann Ylavic] * ) mod_ssl: support for mod_md added. [Stefan Eissing] * ) mod_proxy_html: process parsed comments immediately. Fixes bug (seen in the wild when used with IBM's HTTPD bundle) where parsed comments may be lost. [Nick Kew] * ) mod_proxy_html: introduce doctype for HTML 5 [Nick Kew] * ) mod_proxy_html: fix typo-bug processing "strict" vs "transitional" HTML/XHTML. PR 56457 [Nick Kew] * ) mpm_event: avoid a very unlikely race condition between the listener and the workers when the latter fails to add a connection to the pollset. [Yann Ylavic] * ) core: silently ignore a not existent file path when IncludeOptional is used. PR 57585. [Alberto Murillo Silva , Luca Toscano] * ) mod_macro: fix usability of globally defined macros in .htaccess files. PR 57525. [Jose Kahan , Yann Ylavic] * ) mod_rewrite, core: add the Vary header when a condition evaluates to true and the related RewriteRule is used in a Directory context (triggering an internal redirect). [Luca Toscano] * ) ab: Make the TLS layer aware that the underlying socket is nonblocking, and use/handle POLLOUT where needed to avoid busy IOs and recover write errors when appropriate. [Yann Ylavic] * ) ab: Keep reading nonblocking to exhaust TCP or SSL buffers when previous read was incomplete (the SSL case can cause the next poll() to timeout since data are buffered already). PR 61301 [Luca Toscano, Yann Ylavic] * ) mod_http2: avoid unnecessary data retrieval for a trace log. Allow certain information retrievals on null bucket beams where it makes sense. [Stefan Eissing]- Replace SuSEFirewall2 by firewalld II (fate#323460) [bsc#1083492]- build mod_http2 also for 42.3- remove NameVirtualHost from documentation [bsc#1078557]- for older distros, still use SuSEFirewall2 [bsc#1071548c#7]- Replace SuSEFirewall2 by firewalld (fate#323460)- build brotli module- Do not requires w3m, only recommends it.- do not build with nghttp2 for SLE-12-SP3- which was split after SLE11- Add which and w3m as dependencies. poo#28406- Replace references to /var/adm/fillup-templates with new %_fillupdir macro (boo#1069468)- APACHE_MODULES now contains authn_core in default configuration [bsc#1066661]- updated to 2.4.29: * ) mod_unique_id: Use output of the PRNG rather than IP address and pid, avoiding sleep() call and possible DNS issues at startup, plus improving randomness for IPv6-only hosts. [Jan Kaluza] * ) mod_rewrite, core: Avoid the 'Vary: Host' response header when HTTP_HOST is used in a condition that evaluates to true. PR 58231 [Luca Toscano] * ) mod_http2: v0.10.12, removed optimization for mutex handling in bucket beams that could lead to assertion failure in edge cases. [Stefan Eissing] * ) mod_proxy: Fix regression for non decimal loadfactor parameter introduced in 2.4.28. [Jim Jagielski] * ) mod_authz_dbd: fix a segmentation fault if AuthzDBDQuery is not set. PR 61546. [Lubos Uhliarik ] * ) mod_rewrite: Add support for starting External Rewriting Programs as non-root user on UNIX systems by specifying username and group name as third argument of RewriteMap directive. [Jan Kaluza] * ) core: Rewrite the Content-Length filter to avoid excessive memory consumption. Chunked responses will be generated in more cases than in previous releases. PR 61222. [Joe Orton, Ruediger Pluem] * ) mod_ssl: Fix SessionTicket callback return value, which does seem to matter with OpenSSL 1.1. [Yann Ylavic]- gensslcert: * set also SAN [bsc#1045159] * drop -C argument, it was not mapped to CN actually * consider also case when hostname does return empty string or does not exist [bsc#1057406] * do not consider environment ROOT variable- updated to 2.4.28: * ) SECURITY: CVE-2017-9798 (cve.mitre.org) Corrupted or freed memory access. must now be used in the main configuration file (httpd.conf) to register HTTP methods before the .htaccess files. [Yann Ylavic] * ) event: Avoid possible blocking in the listener thread when shutting down connections. PR 60956. [Yann Ylavic] * ) mod_speling: Don't embed referer data in a link in error page. PR 38923 [Nick Kew] * ) htdigest: prevent a buffer overflow when a string exceeds the allowed max length in a password file. [Luca Toscano, Hanno Böck ] * ) mod_proxy: loadfactor parameter can now be a decimal number (eg: 1.25). [Jim Jagielski] * ) mod_proxy_wstunnel: Allow upgrade to any protocol dynamically. PR 61142. * ) mod_watchdog/mod_proxy_hcheck: Time intervals can now be spefified down to the millisecond. Supports 'mi' (minute), 'ms' (millisecond), 's' (second) and 'hr' (hour!) time suffixes. [Jim Jagielski] * ) mod_http2: Fix for stalling when more than 32KB are written to a suspended stream. [Stefan Eissing] * ) build: allow configuration without APR sources. [Jacob Champion] * ) mod_ssl, ab: Fix compatibility with LibreSSL. PR 61184. [Bernard Spil , Michael Schlenker , Yann Ylavic] * ) core/log: Support use of optional "tag" in syslog entries. PR 60525. [Ben Rubson , Jim Jagielski] * ) mod_proxy: Fix ProxyAddHeaders merging. [Joe Orton] * ) core: Disallow multiple Listen on the same IP:port when listener buckets are configured (ListenCoresBucketsRatio > 0), consistently with the single bucket case (default), thus avoiding the leak of the corresponding socket descriptors on graceful restart. [Yann Ylavic] * ) event: Avoid listener periodic wake ups by using the pollset wake-ability when available. PR 57399. [Yann Ylavic, Luca Toscano] * ) mod_proxy_wstunnel: Fix detection of unresponded request which could have led to spurious HTTP 502 error messages sent on upgrade connections. PR 61283. [Yann Ylavic]- suexec binary moved to main package [bsc#1054741]- do not call and do not ship apache-22-24-upgrade [bsc#1042037]- make the package runable on non systemd systems + deprecated-scripts-arch.patch- updated to 2.4.27: * ) COMPATIBILITY: mod_lua: Remove the undocumented exported 'apr_table' global variable when using Lua 5.2 or later. This was exported as a side effect from luaL_register, which is no longer supported as of Lua 5.2 which deprecates pollution of the global namespace. [Rainer Jung] * ) COMPATIBILITY: mod_http2: Disable and give warning when using Prefork. The server will continue to run, but HTTP/2 will no longer be negotiated. [Stefan Eissing] * ) COMPATIBILITY: mod_proxy_fcgi: Revert to 2.4.20 FCGI behavior for the default ProxyFCGIBackendType, fixing a regression with PHP-FPM. PR 61202. [Jacob Champion, Jim Jagielski] * ) mod_lua: Improve compatibility with Lua 5.1, 5.2 and 5.3. PR58188, PR60831, PR61245. [Rainer Jung] * ) mod_http2: Simplify ready queue, less memory and better performance. Update mod_http2 version to 1.10.7. [Stefan Eissing] * ) Allow single-char field names inadvertantly disallowed in 2.4.25. PR 61220. [Yann Ylavic] * ) htpasswd / htdigest: Do not apply the strict permissions of the temporary passwd file to a possibly existing passwd file. PR 61240. [Ruediger Pluem] * ) core: Avoid duplicate HEAD in Allow header. This is a regression in 2.4.24 (unreleased), 2.4.25 and 2.4.26. PR 61207. [Christophe Jaillet] - drop upstreamed patch: * httpd-2.4.12-lua-5.2.patch (see upstream's PR#58188 for details)- Adjust dependencies for rename apr/apr-util packages- remove /usr/bin/http2 symlink only during apache2 package uninstall, not upgrade [bsc#1041830]- updated to 2.4.26: This release of Apache is a security, feature, and bug fix release. For details, see http://httpd.apache.org/dev/dist/CHANGES_2.4.26 - refreshed patches: . httpd-2.4.12-lua-5.2.patch . httpd-2.4.x-fate317766-config-control-two-protocol-options.diff - removed patches (upstreamed) . httpd-cache-forward-http-proxy.patch . httpd-cache-revert-svn1773397.patch- server-tunning.conf: MaxClients was renamed to MaxRequestWorkers [bsc#1037731] - gensslcert: use hostname when fqdn is too long [bsc#1035829]- remove apache-doc and apache-example-pages obsoletes/provides- PreRequire user wwwrun and group www- start_apache2: include individual sysconfig.d files instead of sysconfig.d dir, include sysconfig.d/include.conf after httpd.conf is processed [bsc#1023616]- revert an attempt to fix PR 60458 + httpd-cache-revert-svn1773397.patch- fix caching of forward proxy + httpd-cache-forward-http-proxy.patch- Don't require insserv if we don't need it.- Added new HTTP2 option to sysconfig to ease enabling http2 - Added new protocols.conf which is included globally - Enable http2 also for Leap 42.2+ and SLE12_SP2+- update to 2.4.25: fixed several security issues (CVE-2016-8740, CVE-2016-5387, CVE-2016-2161, CVE-2016-0736, CVE-2016-8743), many fixes and improvements of mod_http2 and other modules; see CHANGES for full change log - verify tarball: added httpd*.bz2.asc, apache2.keyring and remove 60C5442D.key- fix build with new systemd + amended httpd-2.4.3-mod_systemd.patch- Replace mixed indentation with predominant style.- add NotifyAccess=all to service file [bsc#980663]- Remove the omc xml config. It is useless nowdays- readd the support of multiple entries in APACHE_ACCESS_LOG [bsc#991032]- add httpd-2.4.x-fate317766-config-control-two-protocol-options.diff Introduces directives to control two protocol options: * HttpContentLengthHeadZero - allow Content-Length of 0 to be returned on HEAD * HttpExpectStrict - allow admin to control whether we must see "100-continue" [bsc#894225], [fate#317766]- version 2.4.23 * Fixes CVE-2016-4979 [bsc#987365] * mod_proxy_hcheck was missing due to upstream bug. * mod_proxy_fdpass needs explicit configure line now. * Full list of changes: http://www-eu.apache.org/dist//httpd/CHANGES_2.4.23- Remove pkgconfig(libsystemd-daemon). Nowadays pkgconfig(libsystemd) is enough and replaces all libsystemd-* libs which are obsolete.- remove Alias= from [Install] of the template service [bsc#981541c#10]- remove unneded httpd-2.4.17-debug-crash.patch- start apache services after remote-fs [bsc#978543]- removed note about ulimits in sysconfig file [bsc#976711]- do not build mod_http2 for 13.2- Update to version 2.4.20 (2.4.19 was never released) * Drop httpd-2.4.18-missing-semicolon.patch now upstream - Big changelog available, see: http://www.apache.org/dist/httpd/CHANGES_2.4.20 for details.- enable authnz_fcgi module- fix build for SLE_11_SP4: + httpd-2.4.18-missing-semicolon.patch- Update to version 2.4.18 * drop 2.4.17-protocols.patch in upstream. - Change list too long to mention here see: http://www.apache.org/dist/httpd/CHANGES_2.4.18 for details.- systemd: Set TasksMax=infinity for current systemd releases. The default limit of 512 is too small and prevents the creation of new server processes. Apache has its own runtime/harcoded limits.- fix crash when for -X + httpd-2.4.17-debug-crash.patch- add a note: FollowSymLinks or SymLinksIfOwnerMatch is neccessary for RewriteRule in given dir [bnc#955701]- restart apache once after the rpm or zypper transaction [bnc#893659] - drop some old compat code from %post- 2.4.17-protocols.patch from upstream http2 module: * master conn_rec* addition to conn_rec * improved ALPN and Upgrade handling * allowing requests for servers whose TLS configuration is compatible to the SNI server ones * disabling TLS renegotiation for slave connections- LogLevel directive into correct config file, thanks Michael Calmer for the fix [bsc#953329]- do not build mod_http2 for older distros than 13.2 for now (nghttp2 does not build there)- Include directives really into /etc/apache2/sysconfig.d/include.conf, fix from Erik Wegner [bsc#951901]- gensslcert: CN now defaults to `hostname -f` [bnc#949766] (internal), fix help [bnc#949771] (internal)- Update to 2.4.17 - Enable mod_http2/ BuildRequire nghttp2 - MPMs: Support SO_REUSEPORT to create multiple duplicated listener records for scalability - mod_ssl: Support compilation against libssl built with OPENSSL_NO_SSL3 - For more changes see: http://www.apache.org/dist/httpd/CHANGES_2.4.17- start_apache2: reintroduce sysconfig.d, include it on command line (not in httpd.conf) instead of individual directives [bnc#949434] (internal), [bnc#941331]- Fixup libdir in installed files- fix Logjam vulnerability: change SSLCipherSuite cipherstring to disable export cipher suites and deploy Ephemeral Elliptic-Curve Diffie-Hellman (ECDHE) ciphers. Adjust 'gensslcert' script to generate a strong and unique Diffie Hellman Group and append it to the server certificate file [bnc#931723], [CVE-2015-4000]- add reference upstream bug#58188 along httpd-2.4.12-lua-5.2.patch- update to 2.4.16 * changes http://www.apache.org/dist/httpd/CHANGES_2.4.16 * remove the following patches (fixed in 2.4.16) * httpd-2.4.x-mod_lua_websocket_DoS.patch * httpd-2.4.12-CVE-2015-0253.patch * update httpd-2.4.12-lua-5.2.patch- add patch: httpd-2.4.12-lua-5.2.patch * lua_dump introduced a new strip option in 5.3, set it to 0 to get the old behavior * luaL_register was deprecated in 5.2, use luaL_setfuncs and luaL_newlib instead * luaL_optint was deprecated in 5.3, use luaL_optinteger instead * lua_strlen and lua_objlen wad deprecated in 5.2, use lua_rawlen instead- change Provides: from suse_maintenance_mmn = # to suse_maintenance_mmn_#- apache2 Suggests:, not Recommends: apache2-prefork; that means for example, that `zypper in apache2-worker` will not pull apache2-prefork also - installing /usr/sbin/httpd link: * do not try to install it in '%post ' when apache2 (which includes /usr/share/apache2/script-helpers) is not installed yet (fixes installation on 11sp3) * install it in '%post' if apache2 is installed after apache2- to be sure it is there- access_compat shared also for 11sp3- apache2-implicit-pointer-decl.patch renamed to httpd-implicit-pointer-decl.patch to align with other patches names- apachectl is now wrapper to start_apache2; therefore, it honors HTTPD_INSTANCE variable, see README-instances.txt for details + httpd-apachectl.patch - httpd-2.4.10-apachectl.patch- a2enmod/a2dismod and a2enflag/a2disflag now respect HTTPD_INSTANCE= environment variable, which can be used to specify apache instance name; sysconfig file is expected at /etc/sysconfig/apache2@ (see README-instances.txt for details)- provides suse_maintenance_mmn symbol [bnc#915666] (internal)- credits to Roman Drahtmueller: * add reference to /etc/permissions.local to output of %post if setting the permissions of suexec2 fails * do not enable mod_php5 by default any longer * httpd-2.0.49-log_server_status.dif obsoleted * apache2-mod_ssl_npn.patch removed because not used * include mod_reqtimeout.conf in httpd.conf * added cgid-timeout.conf, include it in httpd.conf - fix default value APACHE_MODULES in sysconfig file - %service_* macros for apache2@.service- reenable 690734.patch, it should be upstreamed by the author (Adrian Schroeter) though + httpd-2.4.9-bnc690734.patch - httpd-2.2.x-bnc690734.patch- drop startssl from start_apache2- allow to run multiple instances of Apache on one system [fate#317786] (internal) * distributed httpd.conf no longer includes sysconfig.d, nor this directory is shipped. httpd.conf includes loadmodule.conf and global.conf which are former sysconfig.d/loadmodule.conf and sysconfig.d/global.conf for default /etc/sysconfig/apache2 global.conf and loadmodule.conf are not included when sysconfig variables could have been read by start_apache2 startup script (run with systemd services). Therefore, when starting server via /usr/sbin/httpd, sysconfig variables are not taken into account. * some not-maintained scripts are moved from /usr/share/apache2 to /usr/share/apache2/deprecated-scripts * all modules comment in sysconfig file is not generated anymore * added README-instances.txt * removed Sources: load_configuration find_mpm get_module_list get_includes find_httpd_includes apache-find-directives * added Sources: deprecated-scripts.tar.xz apache2-README-instances.txt apache2-loadmodule.conf apache2-global.conf apache2-find-directives apache2@.service apache2-script-helpers- add SSLHonorCipherOrder directive to apache2-ssl-global.conf - adopt SSLCipherSuite directive value from SLE12 - remove default-vhost-ssl.conf and default-vhost.conf from /etc/apache2. These two files are not (!) read by the configuration framework, but are named *.conf, which is misleading. The files are almost identical with the vhost templates in /etc/apache2/vhosts.d/. The two templates there do it right because they are not named *.conf and are not sourced either. apache's response with no explicit (eg. default, vanilla) configuration is contained in /etc/apache2/default-server.conf. * remove apache2-README.default-vhost as there are no default-vhost* files anymore.- apache2.service: We have to use KillMode=mixed for the graceful stop, restart to work properly.- dropped 2.0 -> 2.2 modules transition during upgrade * apache-20-22-upgrade renamed to apache-22-24-upgrade - apache-*-upgrade script is called in %posttrans now [bnc#927223]- fix find_mpm to echo mpm binary- apache2.service: Only order us after network.target and nss-lookup.target but not pull the units in. - apache2.service: SSL requires correct system time to work properly, order after time-sync.target- align filenames with upstream names (and add compat symlinks) - find_httpd2_includes renamed to find_httpd_includes- access_compat now built as shared and disabled by default - amend config to use also old syntax when access_compat is loaded - added apache2-README-access_compat.txt - added apache-find-directive script - see [bnc#896083] and its duplicates- add httpd-2.4.12-CVE-2015-0253.patch to fix SECURITY: CVE-2015-0253 (cve.mitre.org) core: Fix a crash introduced in with ErrorDocument 400 pointing to a local URL-path with the INCLUDES filter active, introduced in 2.4.11. PR 57531. [Yann Ylavic]- simplify apache2.logrotate, use sharedscripts [bnc#713581]- remove curly brackets around format sequence "%y" in `stat --format="%{y}" %{SOURCE1}` that caused an incorrect evaluation. Add escaping to proper spec-cleaner processing in the future- remove 'exit 0' from the %post section in the specfile that was placed here incorrectly and caused that the rest of the %post section couldn't be executed.- /etc/init.d/apache2 reload -> systemctl reload apache2.service in apache2.logrotate [bnc#926523]- authz_default -> authz_core in sysconfig.apache2/APACHE_MODULES [bnc#922236]- Add Requires(post) apache2 to the subpackage -worker, -event and - prefork: their respective post scriptlets execute /usr/share/apache2/get_module_list, which is shipped as part of the main package. This script has the side-effect to call find_mpm, which in turn creates the corresponding /usr/sbin/httpd2 symlink.- Patched get_module_list to ensure proper SELinux context for sysconfig.d/loadmodule.conf- Pname -> name variable reduction - Try to fix sle11 build- Version bumpt o 2.4.12: * ) mpm_winnt: Accept utf-8 (Unicode) service names and descriptions for internationalization. [William Rowe] * ) mpm_winnt: Normalize the error and status messages emitted by service.c, the service control interface for Windows. [William Rowe] * ) configure: Fix --enable-v4-mapped configuration on *BSD. PR 53824. [ olli hauer , Yann Ylavic ]- Exit cleanly on end of the post and cleanup the update detection - Remove Apache.xpm as it ain't used- Cleanup init/unit decision making and provide just systemd service on systemd systems- Deprecate realver define as it is equal to version. - Explicitely state MPM mods to ensure we don't lose some bnc#444878- Pass over spec-cleaner, there should be no actual technical change in this just reduction of lines in the spec- add httpd-2.4.x-mod_lua_websocket_DoS.patch to fix mod_lua bug where a maliciously crafted websockets PING after a script calls r:wsupgrade() can cause a child process crash [CVE-2015-0228], [bnc#918352].- httpd2.pid in rc.apache2 was wrong [bnc#898193]- httpd-2.4.3-mod_systemd.patch find libsystemd-daemon with pkg-config, this is the only correct way, in current versions sd_notify is in libsystemd and in old products in libsystemd-daemon.- remove obsolete patches * httpd-2.4.10-check_null_pointer_dereference.patch * httpd-event-deadlock.patch * httpd-2.4.x-bnc871310-CVE-2013-5704-mod_headers_chunked_requests.patch * httpd-2.4.x-bnc909715-CVE-2014-8109-mod_lua_handling_of_Require_line.patch- Apache 2.4.11 * ) SECURITY: CVE-2014-3583 (cve.mitre.org) mod_proxy_fcgi: Fix a potential crash due to buffer over-read, with response headers' size above 8K. [Yann Ylavic, Jeff Trawick] * ) SECURITY: CVE-2014-3581 (cve.mitre.org) mod_cache: Avoid a crash when Content-Type has an empty value. PR 56924. [Mark Montague , Jan Kaluza] * ) SECURITY: CVE-2014-8109 (cve.mitre.org) mod_lua: Fix handling of the Require line when a LuaAuthzProvider is used in multiple Require directives with different arguments. PR57204 [Edward Lu ] * ) SECURITY: CVE-2013-5704 (cve.mitre.org) core: HTTP trailers could be used to replace HTTP headers late during request processing, potentially undoing or otherwise confusing modules that examined or modified request headers earlier. Adds "MergeTrailers" directive to restore legacy behavior. [Edward Lu, Yann Ylavic, Joe Orton, Eric Covener] * ) mod_ssl: New directive SSLSessionTickets (On|Off). The directive controls the use of TLS session tickets (RFC 5077), default value is "On" (unchanged behavior). Session ticket creation uses a random key created during web server startup and recreated during restarts. No other key recreation mechanism is available currently. Therefore using session tickets without restarting the web server with an appropriate frequency (e.g. daily) compromises perfect forward secrecy. [Rainer Jung] * ) mod_proxy_fcgi: Provide some basic alternate options for specifying how PATH_INFO is passed to FastCGI backends by adding significance to the value of proxy-fcgi-pathinfo. PR 55329. [Eric Covener] * ) mod_proxy_fcgi: Enable UDS backends configured with SetHandler/RewriteRule to opt-in to connection reuse and other Proxy options via explicitly declared "proxy workers" (] * ) mod_proxy_fcgi: Remove proxy:balancer:// prefix from SCRIPT_FILENAME passed to fastcgi backends. [Eric Covener] * ) core: Configuration files with long lines and continuation characters are not read properly. PR 55910. [Manuel Mausz ] * ) mod_include: the 'env' function was incorrectly handled as 'getenv' if the leading 'e' was written in upper case in statements. [Christophe Jaillet] * ) split-logfile: Fix perl error: 'Can't use string ("example.org:80") as a symbol ref while "strict refs"'. PR 56329. [Holger Mauermann ] * ) mod_proxy: Prevent ProxyPassReverse from doing a substitution when the URL parameter interpolates to an empty string. PR 56603. [] * ) core: Fix -D[efined] or [d] variables lifetime accross restarts. PR 57328. [Armin Abfalterer , Yann Ylavic]. * ) mod_proxy: Preserve original request headers even if they differ from the ones to be forwarded to the backend. PR 45387. [Yann Ylavic] * ) mod_ssl: dump SSL IO/state for the write side of the connection(s), like reads (level TRACE4). [Yann Ylavic] * ) mod_proxy_fcgi: Ignore body data from backend for 304 responses. PR 57198. [Jan Kaluza] * ) mod_ssl: Do not crash when looking up SSL related variables during expression evaluation on non SSL connections. PR 57070 [Ruediger Pluem] * ) mod_proxy_ajp: Fix handling of the default port (8009) in the ProxyPass and configurations. PR 57259. [Yann Ylavic] * ) mpm_event: Avoid a possible use after free when notifying the end of connection during lingering close. PR 57268. [Eric Covener, Yann Ylavic] * ) mod_ssl: Fix recognition of OCSP stapling responses that are encoded improperly or too large. [Jeff Trawick] * ) core: Add ap_log_data(), ap_log_rdata(), etc. for logging buffers. [Jeff Trawick] * ) mod_proxy_fcgi, mod_authnz_fcgi: stop reading the response and issue an error when parsing or forwarding the response fails. [Yann Ylavic] * ) mod_ssl: Fix a memory leak in case of graceful restarts with OpenSSL >= 0.9.8e PR 53435 [tadanori , Sebastian Wiedenroth ] * ) mod_proxy_connect: Don't issue AH02447 on sockets hangups, let the read determine whether it is a normal close or a real error. PR 57168. [Yann Ylavic] * ) mod_proxy_wstunnel: abort backend connection on polling error to avoid further processing. [Yann Ylavic] * ) core: Support custom ErrorDocuments for HTTP 501 and 414 status codes. PR 57167 [Edward Lu ] * ) mod_proxy_connect: Fix ProxyRemote to https:// backends on EBCDIC systems. PR 57092 [Edward Lu ] * ) mod_cache: Avoid a 304 response to an unconditional requst when an AH00752 CacheLock error occurs during cache revalidation. [Eric Covener] * ) mod_ssl: Move OCSP stapling information from a per-certificate store to a per-server hash. PR 54357, PR 56919. [Alex Bligh , Yann Ylavic, Kaspar Brand] * ) mod_cache_socache: Change average object size hint from 32 bytes to 2048 bytes. [Rainer Jung] * ) mod_cache_socache: Add cache status to server-status. [Rainer Jung] * ) event: Fix worker-listener deadlock in graceful restart. PR 56960. * ) Concat strings at compile time when possible. PR 53741. * ) mod_substitute: Restrict configuration in .htaccess to FileInfo as documented. [Rainer Jung] * ) mod_substitute: Make maximum line length configurable. [Rainer Jung] * ) mod_substitute: Fix line length limitation in case of regexp plus flatten. [Rainer Jung] * ) mod_proxy: Truncated character worker names are no longer fatal errors. PR53218. [Jim Jagielski] * ) mod_dav: Set r->status_line in dav_error_response. PR 55426. * ) mod_proxy_http, mod_cache: Avoid (unlikely) accesses to freed memory. [Yann Ylavic, Christophe Jaillet] * ) http_protocol: fix logic in ap_method_list_(add|remove) in order: - to correctly reset bits - not to modify the 'method_mask' bitfield unnecessarily [Christophe Jaillet] * ) mod_slotmem_shm: Increase log level for some originally debug messages. [Jim Jagielski] * ) mod_ldap: In 2.4.10, some LDAP searches or comparisons might be done with the wrong credentials when a backend connection is reused. [Eric Covener] * ) mod_macro: Add missing APLOGNO for some Warning log messages. [Christophe Jaillet] * ) mod_cache: Avoid sending 304 responses during failed revalidations PR56881. [Eric Covener] * ) mod_status: Honor client IP address using mod_remoteip. PR 55886. [Jim Jagielski] * ) cmake-based build for Windows: Fix incompatibility with cmake 2.8.12 and later. PR 56615. [Chuck Liu , Jeff Trawick] * ) mod_ratelimit: Drop severity of AH01455 and AH01457 (ap_pass_brigade failed) messages from ERROR to TRACE1. Other filters do not bother re-reporting failures from lower level filters. PR56832. [Eric Covener] * ) core: Avoid useless warning message when parsing a section guarded by if $(foo) is used within the section. PR 56503 [Christophe Jaillet] * ) mod_proxy_fcgi: Fix faulty logging of large amounts of stderr from the application. PR 56858. [Manuel Mausz ] * ) mod_proxy_http: Proxy responses with error status and "ProxyErrorOverride On" hang until proxy timeout. PR53420 [Rainer Jung] * ) mod_log_config: Allow three character log formats to be registered. For backwards compatibility, the first character of a three-character format must be the '^' (caret) character. [Eric Covener] * ) mod_lua: Don't quote Expires and Path values. PR 56734. [Keith Mashinter, ] * ) mod_authz_core: Allow 'es to be seen from auth stanzas under virtual hosts. PR 56870. [Eric Covener]- Redone lost patch to fix boo#859439 + service reload can cause log data to be lost with logrotate under some circumstances: remove "-t" from service reload. [bnc#859439]- Fix URL syntax in various files- fix IfModule directive around SSLSessionCache [bnc#842377c#11]- added httpd-2.4.x-bnc871310-CVE-2013-5704-mod_headers_chunked_requests.patch to fix flaw in the way mod_headers handled chunked requests. Adds "MergeTrailers" directive to restore legacy behavior [bnc#871310], [CVE-2013-5704].- added httpd-2.4.x-bnc909715-CVE-2014-8109-mod_lua_handling_of_Require_line.patch that fixes handling of the Require line when a LuaAuthzProvider is used in multiple Require directives with different arguments [bnc#909715], [CVE-2014-8109].- fixed start at boot for ssl and encrypted key [bnc#792309]- fix shebang in start_apache2 script that contains bash-specific constructions- small improvement of ssl instructions [bnc#891813]- fix bashisms in post scripts- added httpd-2.4.10-check_null_pointer_dereference.patch to avoid a crash when Content-Type has an empty value [bnc#899836], CVE-2014-3581- httpd-event-deadlock.patch: Fix worker-listener deadlock in graceful restart.- httpd-2.1.9-apachectl.dif renamed to httpd-2.4.10-apachectl.patch and updated (fixed bashism).- drop (turned off) itk mpm spec file code as mpm-itk is now provided as a separate module, not via patch (see http://mpm-itk.sesse.net/ and [bnc#851229])- enable mod_imagemap [bnc#866366]cloud126 1603883579  !"#$%&'()*+,-./0123456789:;<=>?@ABCDEFGHIJKLMNOPQRSTUVWXYZ[\]^_`abcdefghijklmnopqrstuvwxyz{|}~      !"#$%&'()*+,-./0123456789:;<=>?@ABCDEFGHIJKLMNOPQRSTUVWXYZ[\]^_`abcdefghijklmnopqrstuvwxyz{|}~      !"#$%&'()*+,-./0123456789:;<=>?@ABCDEFGHIJKLMNOPQRSTUVWXYZ[\]^_`abcdefghijklmnopqrstuvwxyz{|}~      !"#$%&'()*+,-./0123456789:;<=>?@ABCDEFGHIJKLMNOPQRSTUVWXYZ[\]^_`abcdefghijklmnopqrstuvwxyz{|}~      !"#$%&'()*+,-./0123456789:;<=>?@ABCDEFGHIJKLMNOPQRSTUVWXYZ[\]^_`abcdefghijklmnopqrs2.4.33-lp151.8.21.12.4.33-lp151.8.21.1     apache2conf.dmanual.confmanualBUILDINGLICENSEbind.htmlbind.html.debind.html.enbind.html.frbind.html.ja.utf8bind.html.ko.euc-krbind.html.tr.utf8caching.htmlcaching.html.encaching.html.frcaching.html.tr.utf8configuring.htmlconfiguring.html.deconfiguring.html.enconfiguring.html.frconfiguring.html.ja.utf8configuring.html.ko.euc-krconfiguring.html.tr.utf8content-negotiation.htmlcontent-negotiation.html.encontent-negotiation.html.frcontent-negotiation.html.ja.utf8content-negotiation.html.ko.euc-krcontent-negotiation.html.tr.utf8convenience.mapcustom-error.htmlcustom-error.html.encustom-error.html.escustom-error.html.frcustom-error.html.ja.utf8custom-error.html.ko.euc-krcustom-error.html.tr.utf8developerAPI.htmlAPI.html.endebugging.htmldebugging.html.endocumenting.htmldocumenting.html.endocumenting.html.zh-cn.utf8filters.htmlfilters.html.enhooks.htmlhooks.html.enindex.htmlindex.html.enindex.html.zh-cn.utf8modguide.htmlmodguide.html.enmodules.htmlmodules.html.enmodules.html.ja.utf8new_api_2_4.htmlnew_api_2_4.html.enoutput-filters.htmloutput-filters.html.enrequest.htmlrequest.html.enthread_safety.htmlthread_safety.html.endns-caveats.htmldns-caveats.html.endns-caveats.html.frdns-caveats.html.ja.utf8dns-caveats.html.ko.euc-krdns-caveats.html.tr.utf8dso.htmldso.html.endso.html.frdso.html.ja.utf8dso.html.ko.euc-krdso.html.tr.utf8env.htmlenv.html.enenv.html.frenv.html.ja.utf8env.html.ko.euc-krenv.html.tr.utf8expr.htmlexpr.html.enexpr.html.frfaqindex.htmlindex.html.enindex.html.esindex.html.frindex.html.tr.utf8index.html.zh-cn.utf8filter.htmlfilter.html.enfilter.html.esfilter.html.frfilter.html.ja.utf8filter.html.ko.euc-krfilter.html.tr.utf8getting-started.htmlgetting-started.html.engetting-started.html.frglossary.htmlglossary.html.deglossary.html.englossary.html.esglossary.html.frglossary.html.ja.utf8glossary.html.ko.euc-krglossary.html.tr.utf8handler.htmlhandler.html.enhandler.html.eshandler.html.frhandler.html.ja.utf8handler.html.ko.euc-krhandler.html.tr.utf8handler.html.zh-cn.utf8howtoaccess.htmlaccess.html.enaccess.html.esaccess.html.frauth.htmlauth.html.enauth.html.esauth.html.frauth.html.ja.utf8auth.html.ko.euc-krauth.html.tr.utf8cgi.htmlcgi.html.encgi.html.escgi.html.frcgi.html.ja.utf8cgi.html.ko.euc-krhtaccess.htmlhtaccess.html.enhtaccess.html.eshtaccess.html.frhtaccess.html.ja.utf8htaccess.html.ko.euc-krhtaccess.html.pt-brhttp2.htmlhttp2.html.enhttp2.html.eshttp2.html.frindex.htmlindex.html.enindex.html.esindex.html.frindex.html.ja.utf8index.html.ko.euc-krindex.html.zh-cn.utf8public_html.htmlpublic_html.html.enpublic_html.html.espublic_html.html.frpublic_html.html.ja.utf8public_html.html.ko.euc-krpublic_html.html.tr.utf8reverse_proxy.htmlreverse_proxy.html.enssi.htmlssi.html.enssi.html.frssi.html.ja.utf8ssi.html.ko.euc-krimagesapache_header.gifbal-man-b.pngbal-man-w.pngbal-man.pngbuild_a_mod_2.pngbuild_a_mod_3.pngbuild_a_mod_4.pngcaching_fig1.gifcaching_fig1.pngcaching_fig1.tr.pngcustom_errordocs.pngdown.giffavicon.icofeather.giffeather.pngfilter_arch.pngfilter_arch.tr.pnghome.gifindex.gifleft.gifmod_filter_new.gifmod_filter_new.pngmod_filter_new.tr.pngmod_filter_old.gifmod_filter_old.pngmod_rewrite_fig1.gifmod_rewrite_fig1.pngmod_rewrite_fig2.gifmod_rewrite_fig2.pngpixel.gifreverse-proxy-arch.pngrewrite_backreferences.pngrewrite_process_uri.pngrewrite_rule_flow.pngright.gifssl_intro_fig1.gifssl_intro_fig1.pngssl_intro_fig2.gifssl_intro_fig2.pngssl_intro_fig3.gifssl_intro_fig3.pngsub.gifsyntax_rewritecond.pngsyntax_rewriterule.pngup.gifindex.htmlindex.html.daindex.html.deindex.html.enindex.html.esindex.html.frindex.html.ja.utf8index.html.ko.euc-krindex.html.pt-brindex.html.tr.utf8index.html.zh-cn.utf8install.htmlinstall.html.deinstall.html.eninstall.html.esinstall.html.frinstall.html.ja.utf8install.html.ko.euc-krinstall.html.tr.utf8invoking.htmlinvoking.html.deinvoking.html.eninvoking.html.esinvoking.html.frinvoking.html.ja.utf8invoking.html.ko.euc-krinvoking.html.tr.utf8license.htmllicense.html.enlogs.htmllogs.html.enlogs.html.frlogs.html.ja.utf8logs.html.ko.euc-krlogs.html.tr.utf8miscindex.htmlindex.html.enindex.html.frindex.html.ko.euc-krindex.html.tr.utf8index.html.zh-cn.utf8password_encryptions.htmlpassword_encryptions.html.enpassword_encryptions.html.frperf-tuning.htmlperf-tuning.html.enperf-tuning.html.frperf-tuning.html.ko.euc-krperf-tuning.html.tr.utf8relevant_standards.htmlrelevant_standards.html.enrelevant_standards.html.frrelevant_standards.html.ko.euc-krsecurity_tips.htmlsecurity_tips.html.ensecurity_tips.html.frsecurity_tips.html.ko.euc-krsecurity_tips.html.tr.utf8modcore.htmlcore.html.decore.html.encore.html.escore.html.frcore.html.ja.utf8core.html.tr.utf8directive-dict.htmldirective-dict.html.endirective-dict.html.esdirective-dict.html.frdirective-dict.html.ja.utf8directive-dict.html.ko.euc-krdirective-dict.html.tr.utf8directives.htmldirectives.html.dedirectives.html.endirectives.html.esdirectives.html.frdirectives.html.ja.utf8directives.html.ko.euc-krdirectives.html.tr.utf8directives.html.zh-cn.utf8event.htmlevent.html.enevent.html.frindex.htmlindex.html.deindex.html.enindex.html.esindex.html.frindex.html.ja.utf8index.html.ko.euc-krindex.html.tr.utf8index.html.zh-cn.utf8mod_access_compat.htmlmod_access_compat.html.enmod_access_compat.html.frmod_access_compat.html.ja.utf8mod_actions.htmlmod_actions.html.demod_actions.html.enmod_actions.html.frmod_actions.html.ja.utf8mod_actions.html.ko.euc-krmod_alias.htmlmod_alias.html.enmod_alias.html.frmod_alias.html.ja.utf8mod_alias.html.ko.euc-krmod_alias.html.tr.utf8mod_allowmethods.htmlmod_allowmethods.html.enmod_allowmethods.html.frmod_asis.htmlmod_asis.html.enmod_asis.html.frmod_asis.html.ja.utf8mod_asis.html.ko.euc-krmod_auth_basic.htmlmod_auth_basic.html.enmod_auth_basic.html.frmod_auth_basic.html.ja.utf8mod_auth_basic.html.ko.euc-krmod_auth_digest.htmlmod_auth_digest.html.enmod_auth_digest.html.frmod_auth_digest.html.ko.euc-krmod_auth_form.htmlmod_auth_form.html.enmod_auth_form.html.frmod_authn_anon.htmlmod_authn_anon.html.enmod_authn_anon.html.frmod_authn_anon.html.ja.utf8mod_authn_anon.html.ko.euc-krmod_authn_core.htmlmod_authn_core.html.enmod_authn_core.html.frmod_authn_dbd.htmlmod_authn_dbd.html.enmod_authn_dbd.html.frmod_authn_dbm.htmlmod_authn_dbm.html.enmod_authn_dbm.html.frmod_authn_dbm.html.ja.utf8mod_authn_dbm.html.ko.euc-krmod_authn_file.htmlmod_authn_file.html.enmod_authn_file.html.frmod_authn_file.html.ja.utf8mod_authn_file.html.ko.euc-krmod_authn_socache.htmlmod_authn_socache.html.enmod_authn_socache.html.frmod_authnz_fcgi.htmlmod_authnz_fcgi.html.enmod_authnz_ldap.htmlmod_authnz_ldap.html.enmod_authnz_ldap.html.frmod_authz_core.htmlmod_authz_core.html.enmod_authz_core.html.frmod_authz_dbd.htmlmod_authz_dbd.html.enmod_authz_dbd.html.frmod_authz_dbm.htmlmod_authz_dbm.html.enmod_authz_dbm.html.frmod_authz_dbm.html.ko.euc-krmod_authz_groupfile.htmlmod_authz_groupfile.html.enmod_authz_groupfile.html.frmod_authz_groupfile.html.ja.utf8mod_authz_groupfile.html.ko.euc-krmod_authz_host.htmlmod_authz_host.html.enmod_authz_host.html.frmod_authz_owner.htmlmod_authz_owner.html.enmod_authz_owner.html.frmod_authz_owner.html.ja.utf8mod_authz_owner.html.ko.euc-krmod_authz_user.htmlmod_authz_user.html.enmod_authz_user.html.frmod_authz_user.html.ja.utf8mod_authz_user.html.ko.euc-krmod_autoindex.htmlmod_autoindex.html.enmod_autoindex.html.frmod_autoindex.html.ja.utf8mod_autoindex.html.ko.euc-krmod_autoindex.html.tr.utf8mod_brotli.htmlmod_brotli.html.enmod_buffer.htmlmod_buffer.html.enmod_buffer.html.frmod_cache.htmlmod_cache.html.enmod_cache.html.frmod_cache.html.ja.utf8mod_cache.html.ko.euc-krmod_cache_disk.htmlmod_cache_disk.html.enmod_cache_disk.html.frmod_cache_disk.html.ja.utf8mod_cache_disk.html.ko.euc-krmod_cache_socache.htmlmod_cache_socache.html.enmod_cache_socache.html.frmod_cern_meta.htmlmod_cern_meta.html.enmod_cern_meta.html.frmod_cern_meta.html.ko.euc-krmod_cgi.htmlmod_cgi.html.enmod_cgi.html.frmod_cgi.html.ja.utf8mod_cgi.html.ko.euc-krmod_cgid.htmlmod_cgid.html.enmod_cgid.html.frmod_cgid.html.ja.utf8mod_cgid.html.ko.euc-krmod_charset_lite.htmlmod_charset_lite.html.enmod_charset_lite.html.frmod_charset_lite.html.ko.euc-krmod_data.htmlmod_data.html.enmod_data.html.frmod_dav.htmlmod_dav.html.enmod_dav.html.frmod_dav.html.ja.utf8mod_dav.html.ko.euc-krmod_dav_fs.htmlmod_dav_fs.html.enmod_dav_fs.html.frmod_dav_fs.html.ja.utf8mod_dav_fs.html.ko.euc-krmod_dav_lock.htmlmod_dav_lock.html.enmod_dav_lock.html.frmod_dav_lock.html.ja.utf8mod_dbd.htmlmod_dbd.html.enmod_dbd.html.frmod_deflate.htmlmod_deflate.html.enmod_deflate.html.frmod_deflate.html.ja.utf8mod_deflate.html.ko.euc-krmod_dialup.htmlmod_dialup.html.enmod_dialup.html.frmod_dir.htmlmod_dir.html.enmod_dir.html.frmod_dir.html.ja.utf8mod_dir.html.ko.euc-krmod_dir.html.tr.utf8mod_dumpio.htmlmod_dumpio.html.enmod_dumpio.html.frmod_dumpio.html.ja.utf8mod_echo.htmlmod_echo.html.enmod_echo.html.frmod_echo.html.ja.utf8mod_echo.html.ko.euc-krmod_env.htmlmod_env.html.enmod_env.html.frmod_env.html.ja.utf8mod_env.html.ko.euc-krmod_env.html.tr.utf8mod_example_hooks.htmlmod_example_hooks.html.enmod_example_hooks.html.frmod_example_hooks.html.ko.euc-krmod_expires.htmlmod_expires.html.enmod_expires.html.frmod_expires.html.ja.utf8mod_expires.html.ko.euc-krmod_ext_filter.htmlmod_ext_filter.html.enmod_ext_filter.html.frmod_ext_filter.html.ja.utf8mod_ext_filter.html.ko.euc-krmod_file_cache.htmlmod_file_cache.html.enmod_file_cache.html.frmod_file_cache.html.ko.euc-krmod_filter.htmlmod_filter.html.enmod_filter.html.frmod_headers.htmlmod_headers.html.enmod_headers.html.frmod_headers.html.ja.utf8mod_headers.html.ko.euc-krmod_heartbeat.htmlmod_heartbeat.html.enmod_heartbeat.html.frmod_heartmonitor.htmlmod_heartmonitor.html.enmod_heartmonitor.html.frmod_http2.htmlmod_http2.html.enmod_ident.htmlmod_ident.html.enmod_ident.html.frmod_ident.html.ja.utf8mod_ident.html.ko.euc-krmod_imagemap.htmlmod_imagemap.html.enmod_imagemap.html.frmod_imagemap.html.ko.euc-krmod_include.htmlmod_include.html.enmod_include.html.frmod_include.html.ja.utf8mod_info.htmlmod_info.html.enmod_info.html.frmod_info.html.ja.utf8mod_info.html.ko.euc-krmod_isapi.htmlmod_isapi.html.enmod_isapi.html.frmod_isapi.html.ko.euc-krmod_lbmethod_bybusyness.htmlmod_lbmethod_bybusyness.html.enmod_lbmethod_bybusyness.html.frmod_lbmethod_byrequests.htmlmod_lbmethod_byrequests.html.enmod_lbmethod_byrequests.html.frmod_lbmethod_bytraffic.htmlmod_lbmethod_bytraffic.html.enmod_lbmethod_bytraffic.html.frmod_lbmethod_heartbeat.htmlmod_lbmethod_heartbeat.html.enmod_lbmethod_heartbeat.html.frmod_ldap.htmlmod_ldap.html.enmod_ldap.html.frmod_log_config.htmlmod_log_config.html.enmod_log_config.html.frmod_log_config.html.ja.utf8mod_log_config.html.ko.euc-krmod_log_config.html.tr.utf8mod_log_debug.htmlmod_log_debug.html.enmod_log_debug.html.frmod_log_forensic.htmlmod_log_forensic.html.enmod_log_forensic.html.frmod_log_forensic.html.ja.utf8mod_log_forensic.html.tr.utf8mod_logio.htmlmod_logio.html.enmod_logio.html.frmod_logio.html.ja.utf8mod_logio.html.ko.euc-krmod_logio.html.tr.utf8mod_lua.htmlmod_lua.html.enmod_lua.html.frmod_macro.htmlmod_macro.html.enmod_macro.html.frmod_md.htmlmod_md.html.enmod_mime.htmlmod_mime.html.enmod_mime.html.frmod_mime.html.ja.utf8mod_mime_magic.htmlmod_mime_magic.html.enmod_mime_magic.html.frmod_negotiation.htmlmod_negotiation.html.enmod_negotiation.html.frmod_negotiation.html.ja.utf8mod_nw_ssl.htmlmod_nw_ssl.html.enmod_nw_ssl.html.frmod_privileges.htmlmod_privileges.html.enmod_privileges.html.frmod_proxy.htmlmod_proxy.html.enmod_proxy.html.frmod_proxy.html.ja.utf8mod_proxy_ajp.htmlmod_proxy_ajp.html.enmod_proxy_ajp.html.frmod_proxy_ajp.html.ja.utf8mod_proxy_balancer.htmlmod_proxy_balancer.html.enmod_proxy_balancer.html.frmod_proxy_balancer.html.ja.utf8mod_proxy_connect.htmlmod_proxy_connect.html.enmod_proxy_connect.html.frmod_proxy_connect.html.ja.utf8mod_proxy_express.htmlmod_proxy_express.html.enmod_proxy_express.html.frmod_proxy_fcgi.htmlmod_proxy_fcgi.html.enmod_proxy_fcgi.html.frmod_proxy_fdpass.htmlmod_proxy_fdpass.html.enmod_proxy_fdpass.html.frmod_proxy_ftp.htmlmod_proxy_ftp.html.enmod_proxy_ftp.html.frmod_proxy_hcheck.htmlmod_proxy_hcheck.html.enmod_proxy_html.htmlmod_proxy_html.html.enmod_proxy_html.html.frmod_proxy_http.htmlmod_proxy_http.html.enmod_proxy_http.html.frmod_proxy_http2.htmlmod_proxy_http2.html.enmod_proxy_scgi.htmlmod_proxy_scgi.html.enmod_proxy_scgi.html.frmod_proxy_uwsgi.htmlmod_proxy_uwsgi.html.enmod_proxy_wstunnel.htmlmod_proxy_wstunnel.html.enmod_ratelimit.htmlmod_ratelimit.html.enmod_ratelimit.html.frmod_reflector.htmlmod_reflector.html.enmod_reflector.html.frmod_remoteip.htmlmod_remoteip.html.enmod_remoteip.html.frmod_reqtimeout.htmlmod_reqtimeout.html.enmod_reqtimeout.html.frmod_request.htmlmod_request.html.enmod_request.html.frmod_request.html.tr.utf8mod_rewrite.htmlmod_rewrite.html.enmod_rewrite.html.frmod_sed.htmlmod_sed.html.enmod_sed.html.frmod_session.htmlmod_session.html.enmod_session.html.frmod_session_cookie.htmlmod_session_cookie.html.enmod_session_cookie.html.frmod_session_crypto.htmlmod_session_crypto.html.enmod_session_crypto.html.frmod_session_dbd.htmlmod_session_dbd.html.enmod_session_dbd.html.frmod_setenvif.htmlmod_setenvif.html.enmod_setenvif.html.frmod_setenvif.html.ja.utf8mod_setenvif.html.ko.euc-krmod_setenvif.html.tr.utf8mod_slotmem_plain.htmlmod_slotmem_plain.html.enmod_slotmem_plain.html.frmod_slotmem_shm.htmlmod_slotmem_shm.html.enmod_slotmem_shm.html.frmod_so.htmlmod_so.html.enmod_so.html.frmod_so.html.ja.utf8mod_so.html.ko.euc-krmod_so.html.tr.utf8mod_socache_dbm.htmlmod_socache_dbm.html.enmod_socache_dbm.html.frmod_socache_dc.htmlmod_socache_dc.html.enmod_socache_dc.html.frmod_socache_memcache.htmlmod_socache_memcache.html.enmod_socache_memcache.html.frmod_socache_shmcb.htmlmod_socache_shmcb.html.enmod_socache_shmcb.html.frmod_speling.htmlmod_speling.html.enmod_speling.html.frmod_speling.html.ja.utf8mod_speling.html.ko.euc-krmod_ssl.htmlmod_ssl.html.enmod_ssl.html.frmod_status.htmlmod_status.html.enmod_status.html.frmod_status.html.ja.utf8mod_status.html.ko.euc-krmod_status.html.tr.utf8mod_substitute.htmlmod_substitute.html.enmod_substitute.html.frmod_suexec.htmlmod_suexec.html.enmod_suexec.html.frmod_suexec.html.ja.utf8mod_suexec.html.ko.euc-krmod_suexec.html.tr.utf8mod_unique_id.htmlmod_unique_id.html.enmod_unique_id.html.frmod_unique_id.html.ja.utf8mod_unique_id.html.ko.euc-krmod_unixd.htmlmod_unixd.html.enmod_unixd.html.frmod_unixd.html.tr.utf8mod_userdir.htmlmod_userdir.html.enmod_userdir.html.frmod_userdir.html.ja.utf8mod_userdir.html.ko.euc-krmod_userdir.html.tr.utf8mod_usertrack.htmlmod_usertrack.html.enmod_usertrack.html.frmod_version.htmlmod_version.html.enmod_version.html.ja.utf8mod_version.html.ko.euc-krmod_vhost_alias.htmlmod_vhost_alias.html.enmod_vhost_alias.html.frmod_vhost_alias.html.tr.utf8mod_watchdog.htmlmod_watchdog.html.enmod_xml2enc.htmlmod_xml2enc.html.enmod_xml2enc.html.frmodule-dict.htmlmodule-dict.html.enmodule-dict.html.frmodule-dict.html.ja.utf8module-dict.html.ko.euc-krmodule-dict.html.tr.utf8mpm_common.htmlmpm_common.html.dempm_common.html.enmpm_common.html.frmpm_common.html.ja.utf8mpm_common.html.tr.utf8mpm_netware.htmlmpm_netware.html.enmpm_netware.html.frmpm_winnt.htmlmpm_winnt.html.dempm_winnt.html.enmpm_winnt.html.frmpm_winnt.html.ja.utf8mpmt_os2.htmlmpmt_os2.html.enmpmt_os2.html.froverrides.htmloverrides.html.enprefork.htmlprefork.html.deprefork.html.enprefork.html.frprefork.html.ja.utf8prefork.html.tr.utf8quickreference.htmlquickreference.html.dequickreference.html.enquickreference.html.esquickreference.html.frquickreference.html.ja.utf8quickreference.html.ko.euc-krquickreference.html.tr.utf8quickreference.html.zh-cn.utf8worker.htmlworker.html.deworker.html.enworker.html.frworker.html.ja.utf8worker.html.tr.utf8mpm.htmlmpm.html.dempm.html.enmpm.html.esmpm.html.frmpm.html.ja.utf8mpm.html.ko.euc-krmpm.html.tr.utf8mpm.html.zh-cn.utf8new_features_2_0.htmlnew_features_2_0.html.denew_features_2_0.html.ennew_features_2_0.html.frnew_features_2_0.html.ja.utf8new_features_2_0.html.ko.euc-krnew_features_2_0.html.pt-brnew_features_2_0.html.ru.koi8-rnew_features_2_0.html.tr.utf8new_features_2_2.htmlnew_features_2_2.html.ennew_features_2_2.html.frnew_features_2_2.html.ko.euc-krnew_features_2_2.html.pt-brnew_features_2_2.html.tr.utf8new_features_2_4.htmlnew_features_2_4.html.ennew_features_2_4.html.frnew_features_2_4.html.tr.utf8platformebcdic.htmlebcdic.html.enebcdic.html.ko.euc-krindex.htmlindex.html.enindex.html.frindex.html.ko.euc-krindex.html.zh-cn.utf8netware.htmlnetware.html.ennetware.html.frnetware.html.ko.euc-krperf-hp.htmlperf-hp.html.enperf-hp.html.frperf-hp.html.ko.euc-krrpm.htmlrpm.html.enwin_compiling.htmlwin_compiling.html.enwin_compiling.html.frwin_compiling.html.ko.euc-krwindows.htmlwindows.html.enwindows.html.frwindows.html.ko.euc-krprogramsab.htmlab.html.enab.html.frab.html.ko.euc-krab.html.tr.utf8apachectl.htmlapachectl.html.enapachectl.html.frapachectl.html.ko.euc-krapachectl.html.tr.utf8apxs.htmlapxs.html.enapxs.html.frapxs.html.ko.euc-krapxs.html.tr.utf8configure.htmlconfigure.html.enconfigure.html.frconfigure.html.ko.euc-krconfigure.html.tr.utf8dbmmanage.htmldbmmanage.html.endbmmanage.html.frdbmmanage.html.ko.euc-krdbmmanage.html.tr.utf8fcgistarter.htmlfcgistarter.html.enfcgistarter.html.frfcgistarter.html.tr.utf8htcacheclean.htmlhtcacheclean.html.enhtcacheclean.html.frhtcacheclean.html.ko.euc-krhtcacheclean.html.tr.utf8htdbm.htmlhtdbm.html.enhtdbm.html.frhtdbm.html.tr.utf8htdigest.htmlhtdigest.html.enhtdigest.html.frhtdigest.html.ko.euc-krhtdigest.html.tr.utf8htpasswd.htmlhtpasswd.html.enhtpasswd.html.frhtpasswd.html.ko.euc-krhtpasswd.html.tr.utf8httpd.htmlhttpd.html.enhttpd.html.frhttpd.html.ko.euc-krhttpd.html.tr.utf8httxt2dbm.htmlhttxt2dbm.html.enhttxt2dbm.html.frhttxt2dbm.html.tr.utf8index.htmlindex.html.enindex.html.esindex.html.frindex.html.ko.euc-krindex.html.tr.utf8index.html.zh-cn.utf8log_server_status.htmllog_server_status.html.enlogresolve.htmllogresolve.html.enlogresolve.html.frlogresolve.html.ko.euc-krlogresolve.html.tr.utf8other.htmlother.html.enother.html.frother.html.ko.euc-krother.html.tr.utf8rotatelogs.htmlrotatelogs.html.enrotatelogs.html.frrotatelogs.html.ko.euc-krrotatelogs.html.tr.utf8split-logfile.htmlsplit-logfile.html.ensuexec.htmlsuexec.html.ensuexec.html.ko.euc-krsuexec.html.tr.utf8rewriteaccess.htmlaccess.html.enaccess.html.fradvanced.htmladvanced.html.enadvanced.html.fravoid.htmlavoid.html.enavoid.html.frflags.htmlflags.html.enflags.html.frhtaccess.htmlhtaccess.html.enhtaccess.html.frindex.htmlindex.html.enindex.html.frindex.html.tr.utf8index.html.zh-cn.utf8intro.htmlintro.html.enintro.html.frproxy.htmlproxy.html.enproxy.html.frremapping.htmlremapping.html.enremapping.html.frrewritemap.htmlrewritemap.html.enrewritemap.html.frtech.htmltech.html.entech.html.frvhosts.htmlvhosts.html.envhosts.html.frsections.htmlsections.html.ensections.html.frsections.html.ja.utf8sections.html.ko.euc-krsections.html.tr.utf8server-wide.htmlserver-wide.html.enserver-wide.html.frserver-wide.html.ja.utf8server-wide.html.ko.euc-krserver-wide.html.tr.utf8sitemap.htmlsitemap.html.desitemap.html.ensitemap.html.essitemap.html.frsitemap.html.ja.utf8sitemap.html.ko.euc-krsitemap.html.tr.utf8sitemap.html.zh-cn.utf8socache.htmlsocache.html.ensocache.html.frsslindex.htmlindex.html.enindex.html.frindex.html.ja.utf8index.html.tr.utf8index.html.zh-cn.utf8ssl_compat.htmlssl_compat.html.enssl_compat.html.frssl_faq.htmlssl_faq.html.enssl_faq.html.frssl_howto.htmlssl_howto.html.enssl_howto.html.frssl_intro.htmlssl_intro.html.enssl_intro.html.frssl_intro.html.ja.utf8stopping.htmlstopping.html.destopping.html.enstopping.html.esstopping.html.frstopping.html.ja.utf8stopping.html.ko.euc-krstopping.html.tr.utf8stylebuild.propertiescommon.dtdcssmanual-chm.cssmanual-loose-100pc.cssmanual-print.cssmanual-zip-100pc.cssmanual-zip.cssmanual.cssprettify.cssfaq.dtdlanglang.dtdlatexatbeginend.stymanualpage.dtdmodulesynopsis.dtdscriptsMINIFYprettify.jsprettify.min.jssitemap.dtdversion.entxslutilsuexec.htmlsuexec.html.ensuexec.html.frsuexec.html.ja.utf8suexec.html.ko.euc-krsuexec.html.tr.utf8upgrading.htmlupgrading.html.enupgrading.html.frurlmapping.htmlurlmapping.html.enurlmapping.html.frurlmapping.html.ja.utf8urlmapping.html.ko.euc-krurlmapping.html.tr.utf8vhostsdetails.htmldetails.html.endetails.html.frdetails.html.ko.euc-krdetails.html.tr.utf8examples.htmlexamples.html.enexamples.html.frexamples.html.ja.utf8examples.html.ko.euc-krexamples.html.tr.utf8fd-limits.htmlfd-limits.html.enfd-limits.html.frfd-limits.html.ja.utf8fd-limits.html.ko.euc-krfd-limits.html.tr.utf8index.htmlindex.html.deindex.html.enindex.html.frindex.html.ja.utf8index.html.ko.euc-krindex.html.tr.utf8index.html.zh-cn.utf8ip-based.htmlip-based.html.enip-based.html.frip-based.html.ja.utf8ip-based.html.ko.euc-krip-based.html.tr.utf8mass.htmlmass.html.enmass.html.frmass.html.ko.euc-krmass.html.tr.utf8name-based.htmlname-based.html.dename-based.html.enname-based.html.frname-based.html.ja.utf8name-based.html.ko.euc-krname-based.html.tr.utf8/etc//etc/apache2//etc/apache2/conf.d//usr/share/apache2//usr/share/apache2/manual//usr/share/apache2/manual/developer//usr/share/apache2/manual/faq//usr/share/apache2/manual/howto//usr/share/apache2/manual/images//usr/share/apache2/manual/misc//usr/share/apache2/manual/mod//usr/share/apache2/manual/platform//usr/share/apache2/manual/programs//usr/share/apache2/manual/rewrite//usr/share/apache2/manual/ssl//usr/share/apache2/manual/style//usr/share/apache2/manual/style/css//usr/share/apache2/manual/style/latex//usr/share/apache2/manual/style/scripts//usr/share/apache2/manual/style/xsl//usr/share/apache2/manual/vhosts/-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:14771/openSUSE_Leap_15.1_Update/455b964f15d2277ec0474708ad1ba7f5-apache2.openSUSE_Leap_15.1_Updatedrpmxz5x86_64-suse-linux  !"#$%&'()*+,-.///0//123//directoryASCII textXML 1.0 document, ISO-8859 text, with very long linesXML 1.0 document, UTF-8 Unicode text, with very long linesXML 1.0 document, ASCII text, with very long linesXML 1.0 document, UTF-8 Unicode textXML 1.0 document, ISO-8859 textGIF image data, version 89a, 600 x 62PNG image data, 1000 x 728, 8-bit/color RGBA, non-interlacedPNG image data, 1000 x 927, 8-bit/color RGBA, non-interlacedPNG image data, 1000 x 491, 8-bit/color RGBA, non-interlacedPNG image data, 476 x 300, 8-bit/color RGB, interlacedPNG image data, 343 x 140, 8-bit/color RGB, interlacedPNG image data, 730 x 133, 8-bit/color RGB, interlacedGIF image data, version 89a, 600 x 406PNG image data, 600 x 406, 8-bit colormap, non-interlacedPNG image data, 686 x 464, 8-bit colormap, non-interlacedGIF image data, version 89a, 11 x 11GIF image data, version 89a, 248 x 70PNG image data, 496 x 140, 8-bit/color RGBA, non-interlacedPNG image data, 569 x 392, 1-bit colormap, non-interlacedPNG image data, 569 x 392, 2-bit colormap, non-interlacedGIF image data, version 87a, 100 x 32GIF image data, version 87a, 423 x 331PNG image data, 423 x 331, 1-bit colormap, non-interlacedPNG image data, 423 x 331, 2-bit colormap, non-interlacedGIF image data, version 87a, 160 x 310PNG image data, 160 x 310, 1-bit colormap, non-interlacedGIF image data, version 87a, 428 x 385PNG image data, 428 x 385, 2-bit colormap, non-interlacedGIF image data, version 87a, 381 x 179PNG image data, 381 x 179, 2-bit colormap, non-interlacedGIF image data, version 89a, 1 x 1PNG image data, 297 x 333, 8-bit/color RGBA, non-interlacedPNG image data, 700 x 145, 8-bit/color RGB, interlacedPNG image data, 472 x 450, 8-bit/color RGB, interlacedPNG image data, 391 x 429, 8-bit/color RGB, non-interlacedGIF image data, version 89a, 423 x 327PNG image data, 423 x 327, 2-bit colormap, non-interlacedGIF image data, version 89a, 428 x 217PNG image data, 428 x 217, 4-bit colormap, non-interlacedGIF image data, version 89a, 423 x 323PNG image data, 423 x 323, 4-bit colormap, non-interlacedGIF image data, version 89a, 500 x 62PNG image data, 497 x 297, 8-bit/color RGB, non-interlacedPNG image data, 498 x 318, 8-bit/color RGB, non-interlacedXML 1.0 document textLaTeX document, ASCII textPOSIX shell script, ASCII text executableHTML document, ASCII text, with very long linesASCII text, with very long linesYաQgb,Z}^utf-8ced2f6306b478fd7f98eb0d4d0ce6e38c3b3b7f396cf97a21c8677289a00623b?P7zXZ !t/2]"k%x.$+e'4jUmH=\||_ Su΍-J HD#fOoXpGc3 y!*ormOn`g: iO>fŢM@ e,}/}WvQ;C(Ν/a->)Aj^8%y 3 X\ۜý;DxO+O\33&e bJk(\ab끑pp@ EZPB#cOB!*YE%*[{ǩw;-lTKwSY> Tsjv_Sp6oR-3ۿb? MS6_o@BUa@tDUsX+ Vv kq,Z'Lg$ɾ0N7/ ~}o BW4n#t$M{zΧ$o7^Hd M# [sw/ޓRN}Q`2ѝ 4o,mJrd&@_R_N¡ֻ;2^npn{dTVGMhsi%,Vu[ 71CBcdYO[J (QC,{Bn0>\MLA AP 'a}F[eǦ:FNҬ(܃@ ;n%sQC,Ҍ;%f߳6)  7\{Ӹ?\zg$>phY".NdfEǦ @1q>Z##]zR|;m5m.-u%SYlaCjF3_EP5/Zl~]uBd1~{jXB9\`T)u GJah>#VxwB=ד0wffChMgH5KQLH7Mۿg1H۴Ikz:g̀WH7rۣ?#`N=WџYJ5ڛ괗0\r*`3.]-RְS##Qv N>a:.FkAt=dIcPݦ"~ \#62ãkuNoavMgiyʃS0Tխ˖i@\!.9Gs훦'}OcwUԝmV9=eJT Cxĭ3O~%7Ƭ[%ѿ;%x.glRivg܆_?Ȓ۳gcl~GV޽OVoy.4崛v6O;'gnR%#~?AjdN4ਯ4|8;!i9UnC5&h\qLT6y_5oo脴樐Z.qT`Œ5Txs!ʇTIcݸݧEA 6˿!_Y˹@Uݬ70>}~&=jsR>ۗ%g>_9Ş^~ (ck9~F X|DFRTA8jI\׎%|vɌ0Mf[lf<&~7 le{-D@gwC$Z4#MgVy:#8@,C!{Ab>k܄J4:EP1Хً1dyi\ u9Yvuyۘ"YG. /2y(ΐm<@X&JNEkO`A^ulƒ.40T]|! C5gsjrIQ½)vySZ\w*CrW7qpBiG{>:6@:rdEM :.-e8l7jڲ{諿%B 1ƶ)h~ltFК)|z]a9?bZuqgqRAH1Y9n&U ]U^|AAam*oUK\*Jd _ ^xF8% $~Q,PBX_K:'=Uw;#; gXsMBkvPJq' Xraj.d*Ca~ S\8eWtq7{m,!FV~)/1#R_7a*EA^*;KNb'+VP̝9- ]I:vQ`?sGqK([?;TDϙz`~$C%vIWZ&Է5,cEx|4'<ϗ</-+'O^:.m 3vwM@TPCnqIPxy/څ;ec&R#RueLgq2ү Yb郺)K-bDx/LR³\GkQo̡p*)1X:vxYE*IEz6nu1e;AV.䭌;,m"h w6J,zt=3PI3. mu#[x3`򆤪[.:̵} ;*b_\9@WJ1I#y.3P5{ 6NHk~_ĪuQpd*L=ݮe5,BRKJՌfPI.֏ }B蚙Y@j*Q2n}?˰SkH_\s[f8MaΆ:S ұS549J`\;QSN,/iE#7x0+/tBWM=TeػVVDz(mOdјAXXpʀzգ8V/_hzVy3$ g̷u!:ށ6V nP7JXZ߀x{ : ļ(Px& k=$`+Ὺ-u2^\;"=>tP*󿭵ofjhs"4*zG96(/đB16O2N `H 𼿦($^@ $W4A$.=׀t!4Ai$+l ۾L5 ɬf7 Ҩ@Xjz:>*<DZt${ԺPP֗z^fO cUSG~j\W bW"N4MBʈGn14lE5[aDehE` O+EE2IA3mԼss\~^ &H G.X1JiB0n.i@gkmіX Ibu4ьKzuq0R癞1̅ D0ns@U>i `l w[ 2f E|j ~Iq9B\]+B¸ ÛD^NM|Mwehei$x JHߒi.x\4 w Cij6 u $j<"y3}$sZ}Ri*Cڇ@7L9c8{lMfWh< j:uu Io S|oUFaM{hB+^&V9kD]:QAȶ7UL,{ u r #JNY}5ndt{շ6pXJlDfCz`9뼋xNo^8 }g .bB*":3ޗg N~"B?fV7$(S7ϷIC>75[:^LWn'؛uTW[Kh)g+|V*';Go6b#3 Zڕ>քlyjH?b0닗Má&:o8B,j;)dn%NǴlR5qRǫDIuKc;ޣqK9|>Mb7[c2zRr gQ0_|r t݊GxM^;[sUOny o ;$ p}b%UV}bD_V"LABɟNO7ga.,.Ʈof5?TM1ޫqѱ̱3,7'bV̋`)c$1:ugt}ˉK(IW !{_ɟIKIѝC]&- 6dm<`]4(~TVColXVUA2yĥd ȨYy\痴d;Qopy!f'q)#(f<5?2)P.iB%,cM fUd}2a7d6ul ^8A+wKnVĦ'JDlUKpKJb2Ny.iduVk&CK:dF=">9\Dn*)vFFa\duNΠg]V6b(>?+a:fmldG' \MQ^/ y+nOKUi̠yװWMZ*Ǖx O$0#@e*'M.?\'IS6i{eΔ;=MCOU(eH%J|;p_{X;&Tˬ,D qI i\6cy\ D;b pYK)0Qta)kڋ`L^P=Å{gV?f$JCZ&G^Z]#pTu6c8FZpC ziH]r`9O.~fy? NM`THm~v|ՁCz]WJem\VҾ֔erء3=Hш%؁a>W]4^y-$Q4!; ?]@iH Pa 9L>_@e'9 α)*/op  L*6Wk{mb'[)|N.7.^|aҎG4D.v-Nvao=d7.V38L(YWl0 Y|/Z'SY=p$6Ib`B"Ǣ9"nrxz#vg!V,z܆ L;1q4~a9midXAdyznbȿZMmRA/S,2 5iGl,i̛Mtl#f"^A3ܪwD,D1۴4njv6$YE-TƦiE lGhaj"Qb \kH c. PbW]C y]n%+sT 7HA[b +D͵U Q6^HV]5(ȋ D_ 6Uc@`J~Mл}e